From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Andrzej Siewior Subject: [PATCH 2/5] mm/backing-dev: Use irqsave variant of atomic_dec_and_lock() Date: Fri, 4 May 2018 17:45:30 +0200 Message-ID: <20180504154533.8833-3-bigeasy@linutronix.de> References: <20180504154533.8833-1-bigeasy@linutronix.de> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20180504154533.8833-1-bigeasy@linutronix.de> Sender: linux-kernel-owner@vger.kernel.org To: linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, Peter Zijlstra , Ingo Molnar , linux-mm@kvack.org, Shaohua Li , linux-raid@vger.kernel.org, Anna-Maria Gleixner , Sebastian Andrzej Siewior List-Id: linux-raid.ids From: Anna-Maria Gleixner The irqsave variant of atomic_dec_and_lock handles irqsave/restore when taking/releasing the spin lock. With this variant the call of local_irq_save/restore is no longer required. Signed-off-by: Anna-Maria Gleixner Signed-off-by: Sebastian Andrzej Siewior --- mm/backing-dev.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 023190c69dce..c28418914591 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -484,11 +484,8 @@ void wb_congested_put(struct bdi_writeback_congested *= congested) { unsigned long flags; =20 - local_irq_save(flags); - if (!atomic_dec_and_lock(&congested->refcnt, &cgwb_lock)) { - local_irq_restore(flags); + if (!atomic_dec_and_lock_irqsave(&congested->refcnt, &cgwb_lock, flags)) return; - } =20 /* bdi might already have been destroyed leaving @congested unlinked */ if (congested->__bdi) { --=20 2.17.0