From patchwork Wed Feb 22 06:42:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Yang X-Patchwork-Id: 13148760 Return-Path: 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 EA2EFC64EC7 for ; Wed, 22 Feb 2023 06:42:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 304F56B0071; Wed, 22 Feb 2023 01:42:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B4846B0073; Wed, 22 Feb 2023 01:42:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A20C6B0074; Wed, 22 Feb 2023 01:42:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0B9A16B0071 for ; Wed, 22 Feb 2023 01:42:48 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id AF44D1A0B45 for ; Wed, 22 Feb 2023 06:42:47 +0000 (UTC) X-FDA: 80493984774.09.EE89011 Received: from mailgw01.mediatek.com (mailgw01.mediatek.com [216.200.240.184]) by imf26.hostedemail.com (Postfix) with ESMTP id 34FCD14000F for ; Wed, 22 Feb 2023 06:42:43 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=HBeHEXQz; dmarc=pass (policy=quarantine) header.from=mediatek.com; spf=pass (imf26.hostedemail.com: domain of andrew.yang@mediatek.com designates 216.200.240.184 as permitted sender) smtp.mailfrom=andrew.yang@mediatek.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677048165; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=RpthVqrmOJ7J2xKNoYVxNTyGK79hRg8DTTNG1frteX4=; b=FS5gB+ZMqc4mCsJNRM0rYyt9PuIdExoc/1CCE6HlNEIBSpw/2JYVOYrD+Jhv/OuFMS1XHV Gs15hEzBcC2tIkq1sCuCMoEw3vwiVfyscIf56V061Um/GaP13LZ/VCs9MzNBX0sAYzoreR 2QEE/cDuB+S3rHTUF89v0T6kJh0jfk4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=HBeHEXQz; dmarc=pass (policy=quarantine) header.from=mediatek.com; spf=pass (imf26.hostedemail.com: domain of andrew.yang@mediatek.com designates 216.200.240.184 as permitted sender) smtp.mailfrom=andrew.yang@mediatek.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677048165; a=rsa-sha256; cv=none; b=CWKmm1eHUq73kTvBY4FHfWx/TdMEh+vbIPNGkphHvfl+cYXf5FwD2VUm4C/S6mOx+Fs1BU kZm/bn5NWfVX8D4I/qCaRF1B/wmT+gF5/IRpkPXeNAJnlzGFdewLOvM2y8vGoXbXu/hLTK Os+QXeSESPzuxVM7gnhvJbjy9fOqtxM= X-UUID: 16ba5908b27c11edbbe3f76fe852e059-20230221 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=RpthVqrmOJ7J2xKNoYVxNTyGK79hRg8DTTNG1frteX4=; b=HBeHEXQzX3rTh2wOnLMh5jOcseV22TRc+wr7/VmZHHc6bRcOi2AXZLKmLExFXlSqORzZmL/f2PdzfAG2sh6WNE8t1+quGzu6U7a4JIW/4peGbmFTuyS15d4vN851TVz6jiFOLxHL1PHnwUsas75NIEtUqgiecS6FW08NO9vDmkA=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.20,REQID:92e12320-3667-4339-99df-327a5cbc3a70,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:25b5999,CLOUDID:0e5e5526-564d-42d9-9875-7c868ee415ec,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0 X-CID-BVR: 0 X-UUID: 16ba5908b27c11edbbe3f76fe852e059-20230221 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1482595338; Tue, 21 Feb 2023 23:42:34 -0700 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.3; Wed, 22 Feb 2023 14:42:26 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.15 via Frontend Transport; Wed, 22 Feb 2023 14:42:26 +0800 From: Andrew Yang To: SeongJae Park , Andrew Morton , Matthias Brugger , AngeloGioacchino Del Regno CC: , , andrew.yang , , , , , , Subject: [PATCH v3] mm/damon/paddr: fix missing folio_put() Date: Wed, 22 Feb 2023 14:42:20 +0800 Message-ID: <20230222064223.6735-1-andrew.yang@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-MTK: N X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 34FCD14000F X-Stat-Signature: qc73j717u7j4iqf43fi491web61az7y7 X-HE-Tag: 1677048163-392743 X-HE-Meta: U2FsdGVkX18inunQqxC1kzWL1pf2BpP2WRk9ccJpeu69tdt4zKT0M0cbS8fNPFXfduYrmGYKmcJoq2PXWM13XGhlBq2szkQEoGGpTqvyqiaUG++EAsrberJF33Ng9avceMfEOioB8uU/YJH4gpVFpeiyiBizJnGPdV46UVkNF64j4XZA0IUUSv0T9dQZ9tV+Sr4wPpI9tVSShzJcokcS6qlPD+WeQJ6yoDFwDoa1VrwshL1I3iEc1DhhJYlGNyQIMbZ9ttMdSjw+hduJDaobWxUmQIPGc6NoupTUS3C4mGzD/THoh3HtJynmvWK7Ijn0wsNQNMhmC3AaDFgmuNhCiheCQGE6NXuYXEEJaSbKk4qPOEl8KWTpdEYmK1dLd3QTpsQeX0sj4R9lLgZLP1FaP9B9V/8L5ouL288rFASyQL54w/ojVeduYlcxy3V5Q+V/wj88LCGym9rMu+vnyaJQCgnGc9URRxSTj8bKp4+8TGsubdqBsdZG8QntNYiSrYVmdZJ8aKRUixwAt0bWveL69w83iUYtZrF6Z/dG6vAim3iFgFtKEJ6bWnKefc7Lvsr+cYQytzvlUO0CTLmvioX7F2jfVQ/fw9I1VlRKgmshS64k/BmAGfInVSYttO3UIN9MC8idjbw9MKPEdyW9y3uwlbMee2BmAhNcz6bziEHWZBxAYb0bx/ob2arwtuSzsnNYaOC+7vYVZJ4fsBr9+4TGE6fI4jwh9S5m9OB1h52UwNZOWPAKMY1SxgzHaIsiCj1RtVhzUYNFSJk3hTLByaDUHAhgyxIDFk10K4ID0vdsRsQJyS1yDKdKwU1Yg1prBqj6nj5gX8XBzSQi6c8mijoEjieg2EwZE3TYf/FS3gsmQGXSVBw4780gMPf2KGLVOEaLXvjnOQmtB6fKc7UtPeqAgqE2oFbXF/p3ebQMTM9xrWAxQSL98zmO3ZWcrrmAK2/oyIbGT3nc04yT328WuLQ nrpBTaHD 4r9YdEir+9elNzoyiFNJ6sqoaXArP8UEYB6RYClgCGFHyWynpgIKV7IXpgHngHxL/trOLWgXnqyCkld0b+DPjPb4Eaz3wD+2WUQ2ilSsHjjtipjbKHtQiCoyNYnAhB6Oo5Kckv3h+hLVn+mTL6kBsqTsaB6rdiITkOUeuBSiM39nDIx2IHsBwUsjfrtX9HV5oTt2HxkyNtgaEvvIfh4s1Rt6VLXCc3qWgg90zkb8ZaD2bkcmNhBBIm2RZrs0RbtXc7aEBBORT3WLY5ad4pEhqF5F/uIMKl8cWJuqSj0udviWWcjXYj6W5qxlSldhPm5qJRw29K2147qkm4vrQRF6C9FVSteYOsfqLfr1fn9tjuZQn9v/eLfU/6zbWoQ== 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: From: "andrew.yang" damon_get_folio() would always increase folio _refcount and folio_isolate_lru() would increase folio _refcount if the folio's lru flag is set. If an unevictable folio isolated successfully, there will be two more _refcount. The one from folio_isolate_lru() will be decreased in folio_puback_lru(), but the other one from damon_get_folio() will be left behind. This causes a pin page. Whatever the case, the _refcount from damon_get_folio() should be decreased. Signed-off-by: andrew.yang Fixes: 57223ac29584 ("mm/damon/paddr: support the pageout scheme") Cc: # 5.16.x Reviewed-by: SeongJae Park --- v3: add fixes tag and cc stable v2: according to David's suggestion 1. revise subject according to SeongJae's suggestions 1. rebase to mm-unstable tree 2. remove braces for th single statements --- mm/damon/paddr.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 607bb69e526c..6c655d9b5639 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -250,12 +250,11 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s) folio_put(folio); continue; } - if (folio_test_unevictable(folio)) { + if (folio_test_unevictable(folio)) folio_putback_lru(folio); - } else { + else list_add(&folio->lru, &folio_list); - folio_put(folio); - } + folio_put(folio); } applied = reclaim_pages(&folio_list); cond_resched();