From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752528AbdHPR6K (ORCPT ); Wed, 16 Aug 2017 13:58:10 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:55426 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751943AbdHPR6J (ORCPT ); Wed, 16 Aug 2017 13:58:09 -0400 Date: Wed, 16 Aug 2017 10:58:05 -0700 From: "Paul E. McKenney" To: Steven Rostedt Cc: Daniel Lezcano , Pratyush Anand , =?utf-8?B?6rmA64+Z7ZiE?= , john.stultz@linaro.org, linux-kernel@vger.kernel.org Subject: Re: RCU stall when using function_graph Reply-To: paulmck@linux.vnet.ibm.com References: <20170809125804.GT3730@linux.vnet.ibm.com> <20170809144033.GU3730@linux.vnet.ibm.com> <208e981d-40ec-54fa-6293-5b8e6fe10a84@linaro.org> <20170815092902.252f5e83@gandalf.local.home> <43e0a0bc-bdd4-6bd0-c970-336f2fb01c6d@linaro.org> <20170816100421.318deae2@gandalf.local.home> <20170816163228.GZ7017@linux.vnet.ibm.com> <20170816124140.0b4b10e3@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170816124140.0b4b10e3@gandalf.local.home> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17081617-0056-0000-0000-000003B78398 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007556; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000221; SDB=6.00903243; UDB=6.00452458; IPR=6.00683459; BA=6.00005537; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016723; XFM=3.00000015; UTC=2017-08-16 17:58:07 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17081617-0057-0000-0000-000007EDB218 Message-Id: <20170816175805.GB7017@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-08-16_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1708160295 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 16, 2017 at 12:41:40PM -0400, Steven Rostedt wrote: > On Wed, 16 Aug 2017 09:32:28 -0700 > "Paul E. McKenney" wrote: > > > Let me see if I understand you... About halfway to the stall limit, > > RCU triggers an irq_work (on each CPU that has not yet passed through > > a quiescent state, IPIing them in turn?), and if the irq_work has > > not completed by the end of the stall limit, RCU adds that to its > > stall-warning message. > > Doesn't even have to be half way through. It could be done at the > limit, and then wait a little more. Agreed. However, I take other evasive action halfway through, so there is a nice place to put the code. > > Or am I missing something here? > > No, I think that's what I was suggesting. I don't see a way of canceling an irq_work. Ah, but there is an irq_work_queue_on() that fails if still pending. I should be able to use that instead of cancel. Plus, -I- don't have to send the IPIs, I can just let irq_work_queue_on() do my dirty work! This should provide sufficient entertainment for a bit! ;-) Thanx, Paul