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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7052BC433EF for ; Thu, 19 May 2022 07:13:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F3E566B0072; Thu, 19 May 2022 03:13:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEE2D6B0073; Thu, 19 May 2022 03:13:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB8096B0074; Thu, 19 May 2022 03:13:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CAE2D6B0072 for ; Thu, 19 May 2022 03:13:24 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A4A1432207 for ; Thu, 19 May 2022 07:13:24 +0000 (UTC) X-FDA: 79481626728.09.85617BE Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by imf14.hostedemail.com (Postfix) with ESMTP id 8933710000E for ; Thu, 19 May 2022 07:13:21 +0000 (UTC) Received: by mail-yb1-f177.google.com with SMTP id t26so7515569ybt.3 for ; Thu, 19 May 2022 00:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KnZR57TsP1OGT1oafFJVuDdDBH3vRCYaCcimYp/NokI=; b=mMNJALnl1pAUfzyvxoarnlKnjyecYA8pRlQJKd8VfWfDYV2KKMrosdN8WdbA7nCUhi nzNA1Z8hP4TVxSkZ1nqjVD8GwTsjSAiFeMJ7EeYjNMjXl37Nv3MC4wHvfcTjA4jxnM3G /uLeqYImYR77yCasmTw6rt2erIwmeiT+t8aDk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KnZR57TsP1OGT1oafFJVuDdDBH3vRCYaCcimYp/NokI=; b=hWSKUdTRgLjZPKZYGD7AjwY+3/5WxpGmCrainHIDMIRbSWyUKzHqHYtdbVaPF8xFGJ fRX4dMpGP5SgbVVyBXp2tm1QU2xjx6GZd5ZDjdCBkQ1Q7l+bY75WAt2C4KVTBmhuvsJP mJaS+VLqmekOY+diDM9YJZ95HhEuBgCNQqdxXzeTFXV6yMY5BcFR6eo0Yvf2iccfGJuB tKzzHwilikoal/69EUduiSPc0QPB4XDh17RIxmCG3MJQvAbEt+kjHbz92gHR84uXz6Jv /RQtxoqncPdmP4Jvgaaf1FD8EaPEzH456vbFmqDLsWhai+C6e1yjcPDkbyw0z41AfEma ZQRQ== X-Gm-Message-State: AOAM533OG2a3+V30MMjxtoiDXBbBjnCez9fVCCXPItfcMJ4pysNnYn9J 1Wx4ym6IE3TdME0qkjynvb+7LAGKu4LQ2de58Ewe3w== X-Google-Smtp-Source: ABdhPJybWvmH109bDClPmZi30A+KVrxSLEU3X6ZNIoKlBYkRES5SsYP4QENhyiggw10pRTpKvJ6Pr+mtH/MHa58UysM= X-Received: by 2002:a25:b197:0:b0:64e:ae59:e2d0 with SMTP id h23-20020a25b197000000b0064eae59e2d0mr3019071ybj.523.1652944403511; Thu, 19 May 2022 00:13:23 -0700 (PDT) MIME-Version: 1.0 References: <20220429064051.61552-1-linmiaohe@huawei.com> <20220429064051.61552-7-linmiaohe@huawei.com> In-Reply-To: <20220429064051.61552-7-linmiaohe@huawei.com> From: Vitaly Wool Date: Thu, 19 May 2022 09:13:12 +0200 Message-ID: Subject: Re: [PATCH 6/9] mm/z3fold: put z3fold page back into unbuddied list when reclaim or migration fails To: Miaohe Lin Cc: Andrew Morton , Linux-MM , LKML Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 8933710000E Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=konsulko.com header.s=google header.b=mMNJALnl; spf=pass (imf14.hostedemail.com: domain of vitaly.wool@konsulko.com designates 209.85.219.177 as permitted sender) smtp.mailfrom=vitaly.wool@konsulko.com; dmarc=pass (policy=none) header.from=konsulko.com X-Rspam-User: X-Stat-Signature: d1qt9zpg1tg6irjppra45dcuuhxgjz3z X-HE-Tag: 1652944401-442638 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: On Fri, Apr 29, 2022 at 8:40 AM Miaohe Lin wrote: > > When doing z3fold page reclaim or migration, the page is removed from > unbuddied list. If reclaim or migration succeeds, it's fine as page is > released. But in case it fails, the page is not put back into unbuddied > list now. The page will be leaked until next compaction work, reclaim > or migration is done. > > Signed-off-by: Miaohe Lin > --- > mm/z3fold.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/mm/z3fold.c b/mm/z3fold.c > index 5f5d5f1556be..a1c150fc8def 100644 > --- a/mm/z3fold.c > +++ b/mm/z3fold.c > @@ -1422,6 +1422,8 @@ static int z3fold_reclaim_page(struct z3fold_pool *pool, unsigned int retries) > spin_lock(&pool->lock); > list_add(&page->lru, &pool->lru); > spin_unlock(&pool->lock); > + if (list_empty(&zhdr->buddy)) > + add_to_unbuddied(pool, zhdr); > z3fold_page_unlock(zhdr); > clear_bit(PAGE_CLAIMED, &page->private); > } > @@ -1638,6 +1640,8 @@ static void z3fold_page_putback(struct page *page) > spin_lock(&pool->lock); > list_add(&page->lru, &pool->lru); > spin_unlock(&pool->lock); > + if (list_empty(&zhdr->buddy)) > + add_to_unbuddied(pool, zhdr); > clear_bit(PAGE_CLAIMED, &page->private); > z3fold_page_unlock(zhdr); > } Reviewed-by: Vitaly Wool > -- > 2.23.0 >