From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5331213D53C for ; Wed, 27 May 2026 20:48:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779914896; cv=none; b=e1p+VgT3lKT6Pby1J8PRSd2W36+B32179cKkL4PMKc1Omfr6TnamGmJKryrlwK5KSNPCemfKfxyrqTyEutTezMOa/o2AW8ZuwMIVLqPgMnPJrd0i3auj12/JCij8YAg4gT6gkusbGD2oTqOawYWjfTfgwiPPi5az4aMR2l0Iw9A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779914896; c=relaxed/simple; bh=c1f+DX2H5xUC03KS0fGkNUDbCLWT6iyE15zMiC1PVlI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lVZiIqzKxHHKewSoelk87QaQEy4FFf4bXA4NGGLdY3PKTgXnee8dDOqiuoxtVWpEl3/4GTWU/QQNyyFQdNE9HEzsVMWDTBbaC+zvOAfrysOfYJ8Ur1W264D9hk/zqv5l4aWTeOo07tIn9uc3jOn8phPX5hLXojP28VDtqrZ71jk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cmpxchg.org; spf=pass smtp.mailfrom=cmpxchg.org; dkim=pass (2048-bit key) header.d=cmpxchg.org header.i=@cmpxchg.org header.b=uyN+DClH; arc=none smtp.client-ip=209.85.160.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cmpxchg.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cmpxchg.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cmpxchg.org header.i=@cmpxchg.org header.b="uyN+DClH" Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-516d0119e4aso59961421cf.1 for ; Wed, 27 May 2026 13:48:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg.org; s=google; t=1779914891; x=1780519691; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sDvTkX11jVGNHNrahXzBPb3ZfYee1UhmGAXLDAQTujI=; b=uyN+DClHYRu0RexPP4ecU+sMVANxESB3BQmZgRdra2FUnddQMP7C4sgRCfOeXK2CsN tmQiAOhvaYQK8H4j6m/qpGuIjR5U2QspVNffgC81sS7sIMhTVh6mnQKjmS/76y7xDfeP 4b0zfr9hxduzyGg/CEWSjH1wvwE62MoML5jR4VbX+i+u8aaggvnPxMHTDsXoHdsovwW4 iCgGVL5tlrlninPLdzCe0WgL1RZKoOS4PJsmYHyo1GmN8eWhyG0kNSHQ2wPFiu6+pPTd bc4mxpzKldSDq2DwYXUhoEdRfVJvjoZw8R4DKaz1P0IDlpDdi/f4QdHtBEWye6eh46L6 qf/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779914891; x=1780519691; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sDvTkX11jVGNHNrahXzBPb3ZfYee1UhmGAXLDAQTujI=; b=cqTdFkg8Ds4ibBG7/JAngOETSvh/gpT6dxC00BOkuy+mytTHb81kYBf8kRDWc4pFTI wdU32XNdsiF7dQMAEk+ZbP8jy/O0j8wE9TIJ8L6o0cHbHnAo9wFYYkIb5Dcl2hq9TflB 9eHJL4E2qx8MtIz6I/oG7cEn5mhzhHLqUAFDoUiG+/obBW141Modrx0VdZ6g04c8lz22 S1jIuFUV0N28iv7E6CG4OwnNSmdNy7bVchYge3thLuNQdagoAO9YxqISYJeq6/PP80UM LDuUNei8UxZVu2BwwMzSoHxPWre1NjL8Lt7CbKUMvgADpn/Lv8PSGbYLcfnyQT0/bgIP 7s8Q== X-Forwarded-Encrypted: i=1; AFNElJ8rO9nKtvVehm03yYlEdih+eDCtDIHPhyHImF6BHdeGaZt2yiEeRm9MqD0qB77eM0ryiRXRPd6IgSdtVNI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9nSi2qQf31rI2HCUZ4Zyso51QzG8Ct6qdHfpDbeGLZ/DW3wXk zqyPQuQ7aXhgMbKr7gQA+6Jo7WGWU+95QbC+jgHAryyMrCbcaUtP/is7rbm1UteMg9w= X-Gm-Gg: Acq92OFCmg+WWPBWRO9T+eMU0yrQrJjOSHlk7W/PQX8qeA6Mzo6p9qTGJmW0G5+ac1p iE8Gr2a9m4lZoZXOpm8b05NStfnekw0cwHAkEd14akeu8bWpF21Jwu6HD5qyDuAgb61nLQ91QKZ WLEo/Tp1t1mXUjQP3X8F9eTSDRZXlp3gCrcNB4YcFOn8c4TBF1VkYlYki5xXVNzUEOp87256gUw uRVMTYHiyt6iG2JynZLW5+2rj/8gFH7fKJIFCiWERCumhWEbOZB4gHxyI9yOycuemGyzZ/nYvvk qzItOdGjT2ggSd4P91bRpl1T7vjOGnbWXTmlCaDA1hqTmhyjTfdATgKIxzEdwLSkZ233+sgktgD Nb2knPsZ04UnAFWBR3ZmVtewBIg6uRypBbWt8C3pdDDcHNOSO6wpog27A3hU/qpLnXFMnk+ggDX BDCTUgpVlpz8d7FTbCe0/Iht9329jUDDp1 X-Received: by 2002:ac8:7f8f:0:b0:50f:a53b:9d3 with SMTP id d75a77b69052e-516d58a803emr268033681cf.27.1779914891532; Wed, 27 May 2026 13:48:11 -0700 (PDT) Received: from localhost ([2603:7001:f100:500:365a:60ff:fe62:ff29]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51706b0bad4sm53558101cf.31.2026.05.27.13.48.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 13:48:10 -0700 (PDT) From: Johannes Weiner To: Andrew Morton Cc: David Hildenbrand , Lorenzo Stoakes , Shakeel Butt , Michal Hocko , Dave Chinner , Roman Gushchin , Muchun Song , Qi Zheng , Yosry Ahmed , Zi Yan , "Liam R . Howlett" , Usama Arif , Kiryl Shutsemau , Vlastimil Babka , Kairui Song , Mikhail Zaslonko , Vasily Gorbik , Baolin Wang , Barry Song , Dev Jain , Lance Yang , Nico Pache , Ryan Roberts , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 3/9] mm: list_lru: deduplicate unlock_list_lru() Date: Wed, 27 May 2026 16:45:10 -0400 Message-ID: <20260527204757.2544958-4-hannes@cmpxchg.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260527204757.2544958-1-hannes@cmpxchg.org> References: <20260527204757.2544958-1-hannes@cmpxchg.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The MEMCG and !MEMCG variants are the same. lock_list_lru() has the same pattern when bailing. Consolidate into a common implementation. Reviewed-by: David Hildenbrand (Arm) Acked-by: Shakeel Butt Reviewed-by: Lorenzo Stoakes (Oracle) Signed-off-by: Johannes Weiner Reviewed-by: Liam R. Howlett (Oracle) --- mm/list_lru.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/mm/list_lru.c b/mm/list_lru.c index 77999ed78fa5..5497034e80f3 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -15,6 +15,14 @@ #include "slab.h" #include "internal.h" +static inline void unlock_list_lru(struct list_lru_one *l, bool irq_off) +{ + if (irq_off) + spin_unlock_irq(&l->lock); + else + spin_unlock(&l->lock); +} + #ifdef CONFIG_MEMCG static LIST_HEAD(memcg_list_lrus); static DEFINE_MUTEX(list_lrus_mutex); @@ -67,10 +75,7 @@ static inline bool lock_list_lru(struct list_lru_one *l, bool irq) else spin_lock(&l->lock); if (unlikely(READ_ONCE(l->nr_items) == LONG_MIN)) { - if (irq) - spin_unlock_irq(&l->lock); - else - spin_unlock(&l->lock); + unlock_list_lru(l, irq); return false; } return true; @@ -101,14 +106,6 @@ lock_list_lru_of_memcg(struct list_lru *lru, int nid, *memcg = parent_mem_cgroup(*memcg); goto again; } - -static inline void unlock_list_lru(struct list_lru_one *l, bool irq_off) -{ - if (irq_off) - spin_unlock_irq(&l->lock); - else - spin_unlock(&l->lock); -} #else static void list_lru_register(struct list_lru *lru) { @@ -147,14 +144,6 @@ lock_list_lru_of_memcg(struct list_lru *lru, int nid, return l; } - -static inline void unlock_list_lru(struct list_lru_one *l, bool irq_off) -{ - if (irq_off) - spin_unlock_irq(&l->lock); - else - spin_unlock(&l->lock); -} #endif /* CONFIG_MEMCG */ /* The caller must ensure the memcg lifetime. */ -- 2.54.0