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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43CF6C4742C for ; Mon, 2 Nov 2020 13:49:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9507B222B9 for ; Mon, 2 Nov 2020 13:49:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=bytedance-com.20150623.gappssmtp.com header.i=@bytedance-com.20150623.gappssmtp.com header.b="GSlJIwMx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9507B222B9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id DFA6B6B005D; Mon, 2 Nov 2020 08:49:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DA9BA6B006E; Mon, 2 Nov 2020 08:49:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C997A6B0070; Mon, 2 Nov 2020 08:49:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0067.hostedemail.com [216.40.44.67]) by kanga.kvack.org (Postfix) with ESMTP id 963876B005D for ; Mon, 2 Nov 2020 08:49:06 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 34701180AD804 for ; Mon, 2 Nov 2020 13:49:06 +0000 (UTC) X-FDA: 77439609492.25.paint07_2d08dc0272b0 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin25.hostedemail.com (Postfix) with ESMTP id 0E9EA1804E3A0 for ; Mon, 2 Nov 2020 13:49:06 +0000 (UTC) X-HE-Tag: paint07_2d08dc0272b0 X-Filterd-Recvd-Size: 4994 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by imf39.hostedemail.com (Postfix) with ESMTP for ; Mon, 2 Nov 2020 13:49:05 +0000 (UTC) Received: by mail-pf1-f194.google.com with SMTP id a200so11145694pfa.10 for ; Mon, 02 Nov 2020 05:49:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WpF3sGCaFtVS1Eh20j27YgKkWsI2ZncIVFxEJni7Be4=; b=GSlJIwMxdX5CBk/cKQG3VsM4ru4+Q/uvclPVySn8U60UWDJcYGPlQ5jkRJzNG0i/Qa Y1hqI7Fbn6U+29sQiEOZvWAitHhQEnb0L8oGWkzWPfi0hGjwt9HYjQCK8ItkVDHP7MY0 cdcr/Wqikh4CH36iTncUM+M5zWPpuVQG0sdk15zf8GbhSsftpBG7Cuz7ZzIcGjHPD3vY EfEY49KetKEyXja4u4yzYJqpoiKMdWL/R+tTq8ea90J0MXIlX+/Hc+PTycJwOp1e+eQL 7Mios4ebR5qMFmkgPy0DlRs+ygTh7rKLLewLUWtMM9QZspv2vwEJNXqsCBRC2m9catOD R4HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WpF3sGCaFtVS1Eh20j27YgKkWsI2ZncIVFxEJni7Be4=; b=TY/6lMr0nH9/OCn/P25Wg1pkbzDBnKjE7x78LhulBkTZY33biuGPftstQHyf6/4Z5A ksQ0pc1T3BfnZ0N9jc52ZQWNXTnL5eJTFmHrGc3Id4F8hYvJDFwQLhwjdsZ1yQY7VHtc VFjOkHpAZfJfkH5hpr8TQqxZQWI6jUVUlpau682+uUtPkifu0YJBAocHTTLcPMJkWpU0 p92badFOq0OJ/CxV8td3ufv9bkmFL5WpEoW3j6IgyVZSWRft3PEcqsO4qUvK/ZH6K2D6 PXYKo5e5oZUmus04atAIKpvepzuKF+UtYsrG+GSwDsJXbx80ZPdm2jUHjClVsjoISplC uPjg== X-Gm-Message-State: AOAM531twGEp2eyYXDf4CTmQWkah6HsM7BzyO9uMwC7TfreiOMJ9QFY6 YLDeN09l5k3IH/UdVh4rUHGae5FmOhV5hUNiogFwAQ== X-Google-Smtp-Source: ABdhPJxMGgNruSBgB1KLqECniO90ERSveN//g/NnKzYcrbtcD98wF7ERQBa3YmbwMzRZf4COZcWiWxSYT+Tbd0XsTb0= X-Received: by 2002:aa7:8287:0:b029:142:2501:39ec with SMTP id s7-20020aa782870000b0290142250139ecmr21136648pfm.59.1604324944055; Mon, 02 Nov 2020 05:49:04 -0800 (PST) MIME-Version: 1.0 References: <20201028141646.GA75933@rlk> In-Reply-To: <20201028141646.GA75933@rlk> From: Muchun Song Date: Mon, 2 Nov 2020 21:48:25 +0800 Message-ID: Subject: Re: [External] [PATCH v2] mm/list_lru: optimize condition of exiting the loop To: Hui Su Cc: Andrew Morton , gustavo@embeddedor.com, Vlastimil Babka , LKML , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" 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 Wed, Oct 28, 2020 at 10:17 PM Hui Su wrote: > > In list_lru_walk(), nr_to_walk type is 'unsigned long', > so nr_to_walk won't be '< 0'. > > In list_lru_walk_node(), nr_to_walk type is 'unsigned long', > so *nr_to_walk won't be '< 0' too. > > We can use '!nr_to_walk' instead of 'nr_to_walk <= 0', which > is more precise. > > Signed-off-by: Hui Su Reviewed-by: Muchun Song > --- > include/linux/list_lru.h | 2 +- > mm/list_lru.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/include/linux/list_lru.h b/include/linux/list_lru.h > index 9dcaa3e582c9..b7bc4a2636b9 100644 > --- a/include/linux/list_lru.h > +++ b/include/linux/list_lru.h > @@ -214,7 +214,7 @@ list_lru_walk(struct list_lru *lru, list_lru_walk_cb isolate, > for_each_node_state(nid, N_NORMAL_MEMORY) { > isolated += list_lru_walk_node(lru, nid, isolate, > cb_arg, &nr_to_walk); > - if (nr_to_walk <= 0) > + if (!nr_to_walk) > break; > } > return isolated; > diff --git a/mm/list_lru.c b/mm/list_lru.c > index 5aa6e44bc2ae..35be4de9fd77 100644 > --- a/mm/list_lru.c > +++ b/mm/list_lru.c > @@ -294,7 +294,7 @@ unsigned long list_lru_walk_node(struct list_lru *lru, int nid, > > isolated += list_lru_walk_one(lru, nid, NULL, isolate, cb_arg, > nr_to_walk); > - if (*nr_to_walk > 0 && list_lru_memcg_aware(lru)) { > + if (*nr_to_walk && list_lru_memcg_aware(lru)) { > for_each_memcg_cache_index(memcg_idx) { > struct list_lru_node *nlru = &lru->node[nid]; > > @@ -304,7 +304,7 @@ unsigned long list_lru_walk_node(struct list_lru *lru, int nid, > nr_to_walk); > spin_unlock(&nlru->lock); > > - if (*nr_to_walk <= 0) > + if (!*nr_to_walk) > break; > } > } > -- > 2.29.0 > > -- Yours, Muchun