From: kernel test robot <lkp@intel.com>
To: Kairui Song <ryncsn@gmail.com>, linux-mm@kvack.org
Cc: oe-kbuild-all@lists.linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>,
Matthew Wilcox <willy@infradead.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Waiman Long <longman@redhat.com>,
Shakeel Butt <shakeelb@google.com>, Nhat Pham <nphamcs@gmail.com>,
Michal Hocko <mhocko@suse.com>,
Chengming Zhou <zhouchengming@bytedance.com>,
Qi Zheng <zhengqi.arch@bytedance.com>,
Muchun Song <muchun.song@linux.dev>, Chris Li <chrisl@kernel.org>,
Yosry Ahmed <yosryahmed@google.com>,
"Huang, Ying" <ying.huang@intel.com>,
Kairui Song <kasong@tencent.com>
Subject: Re: [PATCH 7/7] mm/list_lru: Simplify the list_lru walk callback function
Date: Fri, 28 Jun 2024 03:58:55 +0800 [thread overview]
Message-ID: <202406280355.Qwjjjiug-lkp@intel.com> (raw)
In-Reply-To: <20240624175313.47329-8-ryncsn@gmail.com>
Hi Kairui,
kernel test robot noticed the following build warnings:
[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on staging/staging-testing staging/staging-next staging/staging-linus xfs-linux/for-next linus/master v6.10-rc5 next-20240626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kairui-Song/mm-swap-workingset-make-anon-workingset-nodes-memcg-aware/20240625-231015
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240624175313.47329-8-ryncsn%40gmail.com
patch subject: [PATCH 7/7] mm/list_lru: Simplify the list_lru walk callback function
config: i386-buildonly-randconfig-001-20240628 (https://download.01.org/0day-ci/archive/20240628/202406280355.Qwjjjiug-lkp@intel.com/config)
compiler: gcc-10 (Ubuntu 10.5.0-1ubuntu1) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240628/202406280355.Qwjjjiug-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406280355.Qwjjjiug-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/android/binder_alloc.c:1060: warning: Function parameter or struct member 'lru' not described in 'binder_alloc_free_page'
>> drivers/android/binder_alloc.c:1060: warning: Excess function parameter 'lock' description in 'binder_alloc_free_page'
vim +1060 drivers/android/binder_alloc.c
0c972a05cde66e Todd Kjos 2017-06-29 1046
f2517eb76f1f2f Sherry Yang 2017-08-23 1047 /**
f2517eb76f1f2f Sherry Yang 2017-08-23 1048 * binder_alloc_free_page() - shrinker callback to free pages
f2517eb76f1f2f Sherry Yang 2017-08-23 1049 * @item: item to free
f2517eb76f1f2f Sherry Yang 2017-08-23 1050 * @lock: lock protecting the item
f2517eb76f1f2f Sherry Yang 2017-08-23 1051 * @cb_arg: callback argument
f2517eb76f1f2f Sherry Yang 2017-08-23 1052 *
f2517eb76f1f2f Sherry Yang 2017-08-23 1053 * Called from list_lru_walk() in binder_shrink_scan() to free
f2517eb76f1f2f Sherry Yang 2017-08-23 1054 * up pages when the system is under memory pressure.
f2517eb76f1f2f Sherry Yang 2017-08-23 1055 */
f2517eb76f1f2f Sherry Yang 2017-08-23 1056 enum lru_status binder_alloc_free_page(struct list_head *item,
f2517eb76f1f2f Sherry Yang 2017-08-23 1057 struct list_lru_one *lru,
f2517eb76f1f2f Sherry Yang 2017-08-23 1058 void *cb_arg)
5672291f7d5dc5 Kairui Song 2024-06-25 1059 __must_hold(&lru->lock)
f2517eb76f1f2f Sherry Yang 2017-08-23 @1060 {
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1061 struct binder_lru_page *page = container_of(item, typeof(*page), lru);
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1062 struct binder_alloc *alloc = page->alloc;
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1063 struct mm_struct *mm = alloc->mm;
a1b2289cef92ef Sherry Yang 2017-10-03 1064 struct vm_area_struct *vma;
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1065 struct page *page_to_free;
df9aabead791d7 Carlos Llamas 2023-12-01 1066 unsigned long page_addr;
f2517eb76f1f2f Sherry Yang 2017-08-23 1067 size_t index;
f2517eb76f1f2f Sherry Yang 2017-08-23 1068
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1069 if (!mmget_not_zero(mm))
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1070 goto err_mmget;
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1071 if (!mmap_read_trylock(mm))
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1072 goto err_mmap_read_lock_failed;
7710e2cca32e7f Carlos Llamas 2023-12-01 1073 if (!spin_trylock(&alloc->lock))
7710e2cca32e7f Carlos Llamas 2023-12-01 1074 goto err_get_alloc_lock_failed;
f2517eb76f1f2f Sherry Yang 2017-08-23 1075 if (!page->page_ptr)
f2517eb76f1f2f Sherry Yang 2017-08-23 1076 goto err_page_already_freed;
f2517eb76f1f2f Sherry Yang 2017-08-23 1077
f2517eb76f1f2f Sherry Yang 2017-08-23 1078 index = page - alloc->pages;
df9aabead791d7 Carlos Llamas 2023-12-01 1079 page_addr = alloc->buffer + index * PAGE_SIZE;
5cec2d2e5839f9 Todd Kjos 2019-03-01 1080
3f489c2067c582 Carlos Llamas 2023-12-01 1081 vma = vma_lookup(mm, page_addr);
3f489c2067c582 Carlos Llamas 2023-12-01 1082 if (vma && vma != binder_alloc_get_vma(alloc))
3f489c2067c582 Carlos Llamas 2023-12-01 1083 goto err_invalid_vma;
a1b2289cef92ef Sherry Yang 2017-10-03 1084
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1085 trace_binder_unmap_kernel_start(alloc, index);
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1086
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1087 page_to_free = page->page_ptr;
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1088 page->page_ptr = NULL;
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1089
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1090 trace_binder_unmap_kernel_end(alloc, index);
a1b2289cef92ef Sherry Yang 2017-10-03 1091
a1b2289cef92ef Sherry Yang 2017-10-03 1092 list_lru_isolate(lru, item);
7710e2cca32e7f Carlos Llamas 2023-12-01 1093 spin_unlock(&alloc->lock);
5672291f7d5dc5 Kairui Song 2024-06-25 1094 spin_unlock(&lru->lock);
f2517eb76f1f2f Sherry Yang 2017-08-23 1095
a1b2289cef92ef Sherry Yang 2017-10-03 1096 if (vma) {
e41e164c3cdff6 Sherry Yang 2017-08-23 1097 trace_binder_unmap_user_start(alloc, index);
e41e164c3cdff6 Sherry Yang 2017-08-23 1098
e9adcfecf572fc Mike Kravetz 2023-01-03 1099 zap_page_range_single(vma, page_addr, PAGE_SIZE, NULL);
f2517eb76f1f2f Sherry Yang 2017-08-23 1100
e41e164c3cdff6 Sherry Yang 2017-08-23 1101 trace_binder_unmap_user_end(alloc, index);
f2517eb76f1f2f Sherry Yang 2017-08-23 1102 }
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1103
d8ed45c5dcd455 Michel Lespinasse 2020-06-08 1104 mmap_read_unlock(mm);
f867c771f98891 Tetsuo Handa 2020-07-17 1105 mmput_async(mm);
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1106 __free_page(page_to_free);
e41e164c3cdff6 Sherry Yang 2017-08-23 1107
a1b2289cef92ef Sherry Yang 2017-10-03 1108 return LRU_REMOVED_RETRY;
f2517eb76f1f2f Sherry Yang 2017-08-23 1109
3f489c2067c582 Carlos Llamas 2023-12-01 1110 err_invalid_vma:
e50f4e6cc9bfac Carlos Llamas 2023-12-01 1111 err_page_already_freed:
7710e2cca32e7f Carlos Llamas 2023-12-01 1112 spin_unlock(&alloc->lock);
7710e2cca32e7f Carlos Llamas 2023-12-01 1113 err_get_alloc_lock_failed:
3f489c2067c582 Carlos Llamas 2023-12-01 1114 mmap_read_unlock(mm);
3e4e28c5a8f01e Michel Lespinasse 2020-06-08 1115 err_mmap_read_lock_failed:
a1b2289cef92ef Sherry Yang 2017-10-03 1116 mmput_async(mm);
a0c2baaf81bd53 Sherry Yang 2017-10-20 1117 err_mmget:
f2517eb76f1f2f Sherry Yang 2017-08-23 1118 return LRU_SKIP;
f2517eb76f1f2f Sherry Yang 2017-08-23 1119 }
f2517eb76f1f2f Sherry Yang 2017-08-23 1120
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-06-27 19:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-24 17:53 [PATCH 0/7] Split list_lru lock into per-cgroup scope Kairui Song
2024-06-24 17:53 ` [PATCH 1/7] mm/swap, workingset: make anon workingset nodes memcg aware Kairui Song
2024-07-17 3:25 ` Muchun Song
2024-07-18 11:33 ` Kairui Song
2024-07-19 1:34 ` Shakeel Butt
2024-06-24 17:53 ` [PATCH 2/7] mm/list_lru: don't pass unnecessary key parameters Kairui Song
2024-06-24 17:53 ` [PATCH 3/7] mm/list_lru: don't export list_lru_add Kairui Song
2024-07-17 3:12 ` Muchun Song
2024-06-24 17:53 ` [PATCH 4/7] mm/list_lru: code clean up for reparenting Kairui Song
2024-07-15 9:10 ` Muchun Song
2024-07-16 8:15 ` Kairui Song
2024-06-24 17:53 ` [PATCH 5/7] mm/list_lru: simplify reparenting and initial allocation Kairui Song
2024-07-17 3:04 ` Muchun Song
2024-07-18 11:49 ` Kairui Song
2024-07-19 2:45 ` Muchun Song
2024-06-24 17:53 ` [PATCH 6/7] mm/list_lru: split the lock to per-cgroup scope Kairui Song
2024-06-24 17:53 ` [PATCH 7/7] mm/list_lru: Simplify the list_lru walk callback function Kairui Song
2024-06-27 19:58 ` kernel test robot [this message]
2024-06-24 21:26 ` [PATCH 0/7] Split list_lru lock into per-cgroup scope Andrew Morton
2024-06-25 7:47 ` Kairui Song
2024-06-25 17:00 ` Shakeel Butt
2024-08-27 18:35 ` Shakeel Butt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202406280355.Qwjjjiug-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=chrisl@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=kasong@tencent.com \
--cc=linux-mm@kvack.org \
--cc=longman@redhat.com \
--cc=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=nphamcs@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=ryncsn@gmail.com \
--cc=shakeelb@google.com \
--cc=willy@infradead.org \
--cc=ying.huang@intel.com \
--cc=yosryahmed@google.com \
--cc=zhengqi.arch@bytedance.com \
--cc=zhouchengming@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).