Message ID | 20250313165935.63303-2-ryncsn@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 809E2C282EC for <linux-mm@archiver.kernel.org>; Thu, 13 Mar 2025 17:01:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5590280002; Thu, 13 Mar 2025 13:01:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C04E4280001; Thu, 13 Mar 2025 13:01:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8234280002; Thu, 13 Mar 2025 13:01:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 866D9280001 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 13:01:25 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 25B37C0341 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 17:01:27 +0000 (UTC) X-FDA: 83217143814.17.7C8260A Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf26.hostedemail.com (Postfix) with ESMTP id DA6B5140016 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 17:01:20 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=UWB1pJuh; spf=pass (imf26.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741885280; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nUQ+OrAh02CbWtjPdQxW9RlcKT1xdT7Rpo6ksTT/P0Y=; b=RdkmJhYmcy4x1Z/yf8tFG1iXVHPeAvQyWnhZNuJT3r2dwwJFE+FbuHYDx3UbPo4YV7mcVf +ka7+dgWvRej0opFHxzMRZYaJ/IQSbZN7h0DgYjcJfW6yxY9zeVv3H05AkNkIePW0ndAB6 1LI2EZEwTl9hphFDbBkYV6XFY9YFprY= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=UWB1pJuh; spf=pass (imf26.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741885280; a=rsa-sha256; cv=none; b=3jmnMMU7Hf1ZiM7k3JSEA8nKW+sl1p+GGox22E9HSjGkcVC5K/lqF3QCWwBIKB3eT/MTCR leaVhzLLUysjqcTDXBZrJ7FY+0aU2HD3MvtXBmL+5UOgf9kPGbuQ/1PBGO6ecpBgD3m4eU ymgYZlKOcsI6k0/B6Y48XkmTI2k2Ap8= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-223fb0f619dso24720765ad.1 for <linux-mm@kvack.org>; Thu, 13 Mar 2025 10:01:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741885279; x=1742490079; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=nUQ+OrAh02CbWtjPdQxW9RlcKT1xdT7Rpo6ksTT/P0Y=; b=UWB1pJuhchL1y+ImVTFPPBYIixRSmT5WZemwsdsdQg1mlAVaGavNKvsUGiLGVIfmnf y8EOGLVYdkDcTIj0J08+YDeeCgvpLABK847tbwlcUnhLaMhKAuNMctvcwGEB5qlToJgk pNdr6ksgpmLiqJxrCS8pp5Zq2UzN0T+V2Dqc1NQUODz1lY19R6ywn7iVkzfyMJMWkVE6 SqPnPMkFb5IZHt8jVMiYqZl0wrZpP8K2rlfoZtR3Lur6RgSUXqLXcOp5a44KWtm56lHn MhgU1LVzKiAwb9ocuGO57Fs6V7zVq4ARVoeppArmeUqfgIYhv7TeOFtxLZi2zawWzKcz aDjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741885279; x=1742490079; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=nUQ+OrAh02CbWtjPdQxW9RlcKT1xdT7Rpo6ksTT/P0Y=; b=hxl2kqCDPftE2wOwA4eAATkoCiu/zRlz7COA9rZQosz+4Eh3Ie9t/koIP2SsS294DC keHwQ7HZFD59c4zzuuGlHRm5yFVXvcg6cgmtG8vCi6jB0426nrQrzijmjd8vIGWzr2K9 xQg7ei3PEsMqNtMvB6bC9yxKYC/SWqTUmOXqVCN/oeGY1OzVZO0Vx3E3LY+Af5Argz8B o7uX6wRb1oPT4fDTLgCj8n/yPCK8Wh0NWvnmjNw/ZxlofiLNgBXLPiR/qu3s9avU86mv k4AIYYScrsH6e3dFTm2Sck9jOvlI+Mla2D1AEXuE7Y2TE0lXwWuu4ZDI5TtqGeDI/DN0 o49Q== X-Gm-Message-State: AOJu0YyDd87m53YCi+MWtURbkJegXm0IU+yRQox0fwuFOHNVTypA65Mb 5dppS72zyqfQwnwiF+hcNdv9kCYywTfOoR40KWFvi/MLDwJKkLu7K1yinSfjiI0= X-Gm-Gg: ASbGnctZosDM1KnNpP09BcsvffazXNZNk1ZBB1XMPUlZ/N2m+0QictXd6Kmw984XtzQ vkaxpF6/zu6XRc12nrP0vyIFJQ1fuJEJ37LK0AFZxz+U0/nuzNxjFXIuILMX+PUJrTtUT1INQJs SF1fTObRAbEntZEGN4gL1o3t93ZRtfTewQg0htoQm5S3hQWXeI5VQ/Wq7MN7ScuCPlT2KY7sEbz CN5R7V5oPlhkd5six+R3boUQJrfoq/++Tu2gyJpE92TzHTNarbCibGuSx3y/VZFtakHKpEgTwUl IKkjVfO7UD2LXIunF9lkTDqvOZhjDIo9FxZh1gjN7HPpXqXStejCJUyQh0+aU3fTFw== X-Google-Smtp-Source: AGHT+IEtL0owIxoYlBZ71gxEIW/LFwX9S1V54rOpGhTHmxstlznzvgnxMsNk+OzJF8x7byESxSp3WQ== X-Received: by 2002:a17:903:1c8:b0:223:26da:4b8e with SMTP id d9443c01a7336-22592e21948mr178552515ad.4.1741885278863; Thu, 13 Mar 2025 10:01:18 -0700 (PDT) Received: from KASONG-MC4.tencent.com ([106.37.123.220]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7371167df0esm1613529b3a.93.2025.03.13.10.01.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 13 Mar 2025 10:01:18 -0700 (PDT) From: Kairui Song <ryncsn@gmail.com> To: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org>, Chris Li <chrisl@kernel.org>, Barry Song <v-songbaohua@oppo.com>, Hugh Dickins <hughd@google.com>, Yosry Ahmed <yosryahmed@google.com>, "Huang, Ying" <ying.huang@linux.alibaba.com>, Baoquan He <bhe@redhat.com>, Nhat Pham <nphamcs@gmail.com>, Johannes Weiner <hannes@cmpxchg.org>, Baolin Wang <baolin.wang@linux.alibaba.com>, Kalesh Singh <kaleshsingh@google.com>, Matthew Wilcox <willy@infradead.org>, linux-kernel@vger.kernel.org, Kairui Song <kasong@tencent.com> Subject: [PATCH v3 1/7] mm, swap: avoid reclaiming irrelevant swap cache Date: Fri, 14 Mar 2025 00:59:29 +0800 Message-ID: <20250313165935.63303-2-ryncsn@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250313165935.63303-1-ryncsn@gmail.com> References: <20250313165935.63303-1-ryncsn@gmail.com> Reply-To: Kairui Song <kasong@tencent.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DA6B5140016 X-Stat-Signature: bpkj87nkbs7j8qxtarmoyfhtpsixa3yi X-HE-Tag: 1741885280-284810 X-HE-Meta: U2FsdGVkX1+B3YxvuBAGLliXADa8JKPzHduzNAbcFceGam6Fu+NTvWI0whlmHorBn+FE53/fwbb4Hy24n7GlA/scaffWWaSFnP+navRshwUCSo7KIO10zk1xEHsmjiqN1kP+QoJZFq619tPtJrMA9vjb0D/x4NxN5oSLbexEIOy+zhHWYMXH69VC0hO/G3Fe2pY+tWd5dJ+vAOff/pd7cSEntqo3CKjvpqsUmHBw6WvoWk5naJ4C2QLg+8XG/aeFsUIpHEohk+9afOUHzIHFDRCwEKAOCZeN+QfUQUMYkJbmiMjUjGNWkz0UL7XjQGQd4yuzAsnUnOl6zwREhXsk8mC+zfy6epVLE98oOmi0pEQJf3tzB5TmY4B9khc/EFcskLiBQPic6aWMQUC+Hrkl2ONQi5Ym/2t/JH8CV01AVChCfSsGUNoZiwGp8snkzyrdKVrnDwiLa8MqOTyhMLZTeSBRKOMlxa9UPDtD9mr+AGtCVDJvLpmJ++l9oXLe8vd6C5bJSZscoJ0nqHdcrrrxqZJSPxk+ZG61NEuDw/HYY+4B5mwf6KEGbeSB7BuOZNFr4vKrFat++XprfOf6h10W0UTWWW1OTwG4AM1Erngjl3ozdRvRMd+l77sL0tIzB0RKxnNeGK1lB4XD2IXGflRydN+J+KHwQN6zdxVxzJAW1PlIo3LPHeJ6bK9aECTwKzsml4/qqmxsVXqLgi92EkbQOuzcVZkoDc5YWucx6mDhtTLajE2FS2A7Kvwa9anPEFpzgZQOU6p7v82FKNJLwA56i0skD1d+1Po01AUuzcGoCpUGZoHKrfX97iBItUSFizRpt6AI/0uTmi65ChzrmXajQS2AMR9GT6yzzK/sKJyNoJ9b9JO9qyFxsm33OVy7G2rgFWT50K09QmiZgcrOE5QUe91lnY2OZ3+is1HT16RPtmpqI+5Lwvf3LrFOHb7Ba41GGOKaAYSVXoPHT8YOa8b djsrMD68 DeC19DtbkjsnsDXBt87VuRfKrJX5rNLWJq32WzTT3cirdqAU5QC9aCgl98EYkS9u7htF0I+pVk/Imobw+H3nKM40JzM5PaCtYHmNIzSqdKUamOJPaHxbeQJWjCiYvCRJjUm+mryozn4KJeefUMqQ+telCGkZyWVtsn+eLxfwfctG5fo5IfbaQblJUW9PyRvm2tk4qlvOSWrkO8UITIB5k4bUqQbcEUGWNM5lH7tXOUWWcfI4GUQ+IzWAM4lhCI0hq2rOGPLr4ITFE4lxwQMYOpFCe7QnNEC0H09/6VSJx9dr84cshvOWpk38xNqFkfBiJ0gtb/d1SmL87CmUrfE3mtqyQ2sKgKRPXj7EBCK0tzui+se8Nhl4Iwt4f+LfONbX327EQQkcQcC1qFGV0wgdkLn7zxny+htHxrjNuBdvOCQQc4zUT0l5Cg4wbj2SIYP9by89z4N+bosKvdp76GmyhtaV2FB6tREfGWjDq1NQftJGSCNJueIloF4MvV2VC9Cpt52XLU94oCkepPMciHtjydSx0MlaDV/muBiuIu6W1LzQ0ycNVnFrB4Ppz/+QNQqbCWsUT0e/B7/yIP07TrChIhiN33g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
mm, swap: remove swap slot cache
|
expand
|
diff --git a/mm/swapfile.c b/mm/swapfile.c index a7f60006c52c..5618cd1c4b03 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -210,6 +210,7 @@ static int __try_to_reclaim_swap(struct swap_info_struct *si, int ret, nr_pages; bool need_reclaim; +again: folio = filemap_get_folio(address_space, swap_cache_index(entry)); if (IS_ERR(folio)) return 0; @@ -227,8 +228,16 @@ static int __try_to_reclaim_swap(struct swap_info_struct *si, if (!folio_trylock(folio)) goto out; - /* offset could point to the middle of a large folio */ + /* + * Offset could point to the middle of a large folio, or folio + * may no longer point to the expected offset before it's locked. + */ entry = folio->swap; + if (offset < swp_offset(entry) || offset >= swp_offset(entry) + nr_pages) { + folio_unlock(folio); + folio_put(folio); + goto again; + } offset = swp_offset(entry); need_reclaim = ((flags & TTRS_ANYWAY) ||