From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ECCBC63697 for ; Thu, 19 Nov 2020 18:35:37 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C453D22255 for ; Thu, 19 Nov 2020 18:35:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YQ1uO1d4"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="eFNOblJt"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="GsxTwjmI" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C453D22255 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=98ADg0cqrc9UXXcKuc6aNUXC/peM5zlYqj5Bj8rb2X4=; b=YQ1uO1d4pDO4iAKTRYg532A9P 91uLWRxnGpm29iCt2z3Y/N3nMs86lPTuQyVmnnTTs2o3Qb7ovZVpRX+yZG17qJak3kkC4q9xfUhk+ va9bHcONSpofiyHg39wN+ZdR+Wz5lznUTSNh5xSoyFWIdFRozrYEWunn8Kc0TRpafaVaauOGn+9Va LO9Njezyzuv4ZZFSG8gQGeSKiPpauQZHyRgKU4wKXEdA0fH5QFuvk5R16S9s449tFwe9abCDUlgVB +yHY9gmGAEgiU+pnYyHm/LWdj1ITxq4rXqrXiaPcsBtW3hbGech1QAOSeZiaA/UXGCmMc1uYqyKuS AwLqatoHw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfol8-0000MF-AS; Thu, 19 Nov 2020 18:34:18 +0000 Received: from galois.linutronix.de ([193.142.43.55]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfol5-0000LI-8K; Thu, 19 Nov 2020 18:34:16 +0000 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1605810853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/9LDV9DN46jTGHcNLZEidsgCE0mx3aWoCChrRjZhE+0=; b=eFNOblJtBE6bhSiDQe9j2/Qm+8xlNxAVdDFXKgDlhFpHoBgxg00f0vDDbjW7sre963LnD8 FAPLxQ2idf7Q4Ft5OfUOHO6eRvN+rSnn83fIN36Zq6Kiotc+07M0RwuKOXHmkL64Q+oqtx TuZen67fPQUg50mEkV/MWM52ab5TNupoZ1XMPoH5kBTO03MaSIPfTf7QLnuhzhFpva/1OW T9f5dG2ocNZBIEp0bL5LR/izCuKD662zWPu6Md5OvM/za9USwtWINMS0pq2juzJgo6Tmw2 JFOTp93S60OL5jIjiv2FEIuMh5MJ5iJ5gLd6cuWn/uz0Y49CmZQKL8UBCJYKWg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1605810853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/9LDV9DN46jTGHcNLZEidsgCE0mx3aWoCChrRjZhE+0=; b=GsxTwjmINkc0jisnLRXDARATrVl2X02mGOqPKy1NA0W7K156yE6kX6p9nMO1eFEQfRRJn/ 0gAvTQKhyJrz5HBg== To: Frederic Weisbecker Subject: Re: [patch 12/19] softirq: Add RT specific softirq accounting In-Reply-To: <20201119121801.GA20115@lothringen> References: <20201113140207.499353218@linutronix.de> <20201113141734.096224353@linutronix.de> <20201119121801.GA20115@lothringen> Date: Thu, 19 Nov 2020 19:34:13 +0100 Message-ID: <87ima1p55m.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201119_133415_447044_5221460D X-CRM114-Status: GOOD ( 12.22 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rich Felker , Catalin Marinas , Paul McKenney , Arnd Bergmann , linux-sh@vger.kernel.org, Peter Zijlstra , Richard Weinberger , Sebastian Andrzej Siewior , Valentin Schneider , Jeff Dike , LKML , Yoshinori Sato , "James E.J. Bottomley" , linux-parisc@vger.kernel.org, Marc Zyngier , Russell King , linux-um@lists.infradead.org, Will Deacon , Helge Deller , linux-arm-kernel@lists.infradead.org, Anton Ivanov Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Nov 19 2020 at 13:18, Frederic Weisbecker wrote: > On Fri, Nov 13, 2020 at 03:02:19PM +0100, Thomas Gleixner wrote: >> RT requires the softirq to be preemptible and uses a per CPU local lock to >> protect BH disabled sections and softirq processing. Therefore RT cannot >> use the preempt counter to keep track of BH disabled/serving. >> >> Add a RT only counter to task struct and adjust the relevant macros in >> preempt.h. > > You may want to describe a bit the reason for this per task counter. > It's not intuitive at this stage. Something like this: RT requires the softirq processing and local bottomhalf disabled regions to be preemptible. Using the normal preempt count based serialization is therefore not possible because this implicitely disables preemption. RT kernels use a per CPU local lock to serialize bottomhalfs. As local_bh_disable() can nest the lock can only be acquired on the outermost invocation of local_bh_disable() and released when the nest count becomes zero. Tasks which hold the local lock can be preempted so its required to keep track of the nest count per task. Add a RT only counter to task struct and adjust the relevant macros in preempt.h. Thanks, tglx _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel