From: kernel test robot <lkp@intel.com> To: Yu Zhao <yuzhao@google.com>, linux-mm@kvack.org Cc: kbuild-all@lists.01.org, Alex Shi <alexs@kernel.org>, Andi Kleen <ak@linux.intel.com>, Andrew Morton <akpm@linux-foundation.org>, Linux Memory Management List <linux-mm@kvack.org>, Benjamin Manes <ben.manes@gmail.com>, Dave Chinner <david@fromorbit.com>, Dave Hansen <dave.hansen@linux.intel.com>, Hillf Danton <hdanton@sina.com>, Jens Axboe <axboe@kernel.dk> Subject: Re: [PATCH v2 14/16] mm: multigenerational lru: user interface Date: Wed, 14 Apr 2021 06:39:15 +0800 [thread overview] Message-ID: <202104140636.BHTZxlS1-lkp@intel.com> (raw) In-Reply-To: <20210413065633.2782273-15-yuzhao@google.com> Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/x86/core] [also build test WARNING on cgroup/for-next tip/x86/mm fuse/for-next tip/perf/core tip/sched/core linus/master v5.12-rc7] [cannot apply to hnaz-linux-mm/master next-20210413] [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] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/Multigenerational-LRU-Framework/20210413-145844 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 99cb64de36d5c9397a664808b92943e35bdce25e compiler: h8300-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> cppcheck possible warnings: (new ones prefixed by >>, may not real problems) mm/vmscan.c:4110:22: warning: Local variable kswapd shadows outer function [shadowFunction] struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:3912:12: note: Shadowed declaration static int kswapd(void *p) ^ mm/vmscan.c:4110:22: note: Shadow variable struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:5460:7: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] if (!args) ^ mm/vmscan.c:5435:15: note: 'alloc' is assigned value '!args' here. bool alloc = !args; ^ mm/vmscan.c:5458:6: note: outer condition: alloc if (alloc) { ^ mm/vmscan.c:5460:7: note: identical inner condition: !args if (!args) ^ >> mm/vmscan.c:6613:7: warning: %u in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:4712:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4712:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4713:32: warning: Possible null pointer dereference: args [nullPointer] int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4713:32: note: Null pointer dereference int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:4726:28: warning: Possible null pointer dereference: args [nullPointer] sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4726:28: note: Null pointer dereference sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:4758:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4758:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4759:48: warning: Possible null pointer dereference: args [nullPointer] struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4759:48: note: Null pointer dereference struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:4768:12: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4768:12: note: Null pointer dereference VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:4769:21: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4769:21: note: Null pointer dereference VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); vim +6613 mm/vmscan.c 6579 6580 static ssize_t lru_gen_seq_write(struct file *file, const char __user *src, 6581 size_t len, loff_t *pos) 6582 { 6583 void *buf; 6584 char *cur, *next; 6585 int err = 0; 6586 6587 buf = kvmalloc(len + 1, GFP_USER); 6588 if (!buf) 6589 return -ENOMEM; 6590 6591 if (copy_from_user(buf, src, len)) { 6592 kvfree(buf); 6593 return -EFAULT; 6594 } 6595 6596 next = buf; 6597 next[len] = '\0'; 6598 6599 while ((cur = strsep(&next, ",;\n"))) { 6600 int n; 6601 int end; 6602 char cmd; 6603 int memcg_id; 6604 int nid; 6605 unsigned long seq; 6606 int swappiness = -1; 6607 unsigned long nr_to_reclaim = -1; 6608 6609 cur = skip_spaces(cur); 6610 if (!*cur) 6611 continue; 6612 > 6613 n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, 6614 &seq, &end, &swappiness, &end, &nr_to_reclaim, &end); 6615 if (n < 4 || cur[end]) { 6616 err = -EINVAL; 6617 break; 6618 } 6619 6620 err = advance_seq(cmd, memcg_id, nid, seq, swappiness, nr_to_reclaim); 6621 if (err) 6622 break; 6623 } 6624 6625 kvfree(buf); 6626 6627 return err ? : len; 6628 } 6629 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH v2 14/16] mm: multigenerational lru: user interface Date: Wed, 14 Apr 2021 06:39:15 +0800 [thread overview] Message-ID: <202104140636.BHTZxlS1-lkp@intel.com> (raw) In-Reply-To: <20210413065633.2782273-15-yuzhao@google.com> [-- Attachment #1: Type: text/plain, Size: 9425 bytes --] Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/x86/core] [also build test WARNING on cgroup/for-next tip/x86/mm fuse/for-next tip/perf/core tip/sched/core linus/master v5.12-rc7] [cannot apply to hnaz-linux-mm/master next-20210413] [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] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/Multigenerational-LRU-Framework/20210413-145844 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 99cb64de36d5c9397a664808b92943e35bdce25e compiler: h8300-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> cppcheck possible warnings: (new ones prefixed by >>, may not real problems) mm/vmscan.c:4110:22: warning: Local variable kswapd shadows outer function [shadowFunction] struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:3912:12: note: Shadowed declaration static int kswapd(void *p) ^ mm/vmscan.c:4110:22: note: Shadow variable struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:5460:7: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] if (!args) ^ mm/vmscan.c:5435:15: note: 'alloc' is assigned value '!args' here. bool alloc = !args; ^ mm/vmscan.c:5458:6: note: outer condition: alloc if (alloc) { ^ mm/vmscan.c:5460:7: note: identical inner condition: !args if (!args) ^ >> mm/vmscan.c:6613:7: warning: %u in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:4712:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4712:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4713:32: warning: Possible null pointer dereference: args [nullPointer] int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4713:32: note: Null pointer dereference int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:4726:28: warning: Possible null pointer dereference: args [nullPointer] sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4726:28: note: Null pointer dereference sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:4758:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4758:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4759:48: warning: Possible null pointer dereference: args [nullPointer] struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4759:48: note: Null pointer dereference struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:4768:12: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4768:12: note: Null pointer dereference VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:4769:21: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4769:21: note: Null pointer dereference VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); vim +6613 mm/vmscan.c 6579 6580 static ssize_t lru_gen_seq_write(struct file *file, const char __user *src, 6581 size_t len, loff_t *pos) 6582 { 6583 void *buf; 6584 char *cur, *next; 6585 int err = 0; 6586 6587 buf = kvmalloc(len + 1, GFP_USER); 6588 if (!buf) 6589 return -ENOMEM; 6590 6591 if (copy_from_user(buf, src, len)) { 6592 kvfree(buf); 6593 return -EFAULT; 6594 } 6595 6596 next = buf; 6597 next[len] = '\0'; 6598 6599 while ((cur = strsep(&next, ",;\n"))) { 6600 int n; 6601 int end; 6602 char cmd; 6603 int memcg_id; 6604 int nid; 6605 unsigned long seq; 6606 int swappiness = -1; 6607 unsigned long nr_to_reclaim = -1; 6608 6609 cur = skip_spaces(cur); 6610 if (!*cur) 6611 continue; 6612 > 6613 n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, 6614 &seq, &end, &swappiness, &end, &nr_to_reclaim, &end); 6615 if (n < 4 || cur[end]) { 6616 err = -EINVAL; 6617 break; 6618 } 6619 6620 err = advance_seq(cmd, memcg_id, nid, seq, swappiness, nr_to_reclaim); 6621 if (err) 6622 break; 6623 } 6624 6625 kvfree(buf); 6626 6627 return err ? : len; 6628 } 6629 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next prev parent reply other threads:[~2021-04-13 22:39 UTC|newest] Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-13 6:56 [PATCH v2 00/16] Multigenerational LRU Framework Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 01/16] include/linux/memcontrol.h: do not warn in page_memcg_rcu() if !CONFIG_MEMCG Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 02/16] include/linux/nodemask.h: define next_memory_node() if !CONFIG_NUMA Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 03/16] include/linux/huge_mm.h: define is_huge_zero_pmd() if !CONFIG_TRANSPARENT_HUGEPAGE Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 04/16] include/linux/cgroup.h: export cgroup_mutex Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 05/16] mm/swap.c: export activate_page() Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 06/16] mm, x86: support the access bit on non-leaf PMD entries Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 07/16] mm/vmscan.c: refactor shrink_node() Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 08/16] mm: multigenerational lru: groundwork Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 09/16] mm: multigenerational lru: activation Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 10/16] mm: multigenerational lru: mm_struct list Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-14 14:36 ` Matthew Wilcox 2021-04-14 14:36 ` Matthew Wilcox 2021-04-13 6:56 ` [PATCH v2 11/16] mm: multigenerational lru: aging Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 12/16] mm: multigenerational lru: eviction Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 13/16] mm: multigenerational lru: page reclaim Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` [PATCH v2 14/16] mm: multigenerational lru: user interface Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 22:39 ` kernel test robot [this message] 2021-04-13 22:39 ` kernel test robot 2021-04-13 6:56 ` [PATCH v2 15/16] mm: multigenerational lru: Kconfig Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 16:19 ` kernel test robot 2021-04-13 16:19 ` kernel test robot 2021-04-14 4:54 ` kernel test robot 2021-04-14 4:54 ` kernel test robot 2021-04-13 6:56 ` [PATCH v2 16/16] mm: multigenerational lru: documentation Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 6:56 ` Yu Zhao 2021-04-13 7:51 ` [PATCH v2 00/16] Multigenerational LRU Framework SeongJae Park 2021-04-13 7:51 ` SeongJae Park 2021-04-13 16:13 ` Jens Axboe 2021-04-13 16:13 ` Jens Axboe 2021-04-13 16:42 ` SeongJae Park 2021-04-13 16:42 ` SeongJae Park 2021-04-13 23:14 ` Dave Chinner 2021-04-13 23:14 ` Dave Chinner 2021-04-14 2:29 ` Rik van Riel 2021-04-14 2:29 ` Rik van Riel 2021-04-14 2:29 ` Rik van Riel 2021-04-14 4:13 ` Yu Zhao 2021-04-14 4:13 ` Yu Zhao 2021-04-14 6:15 ` Huang, Ying 2021-04-14 6:15 ` Huang, Ying 2021-04-14 6:15 ` Huang, Ying 2021-04-14 7:58 ` Yu Zhao 2021-04-14 7:58 ` Yu Zhao 2021-04-14 7:58 ` Yu Zhao 2021-04-14 8:27 ` Huang, Ying 2021-04-14 8:27 ` Huang, Ying 2021-04-14 8:27 ` Huang, Ying 2021-04-14 13:51 ` Rik van Riel 2021-04-14 13:51 ` Rik van Riel 2021-04-14 13:51 ` Rik van Riel 2021-04-14 15:56 ` Andi Kleen 2021-04-14 15:56 ` Andi Kleen 2021-04-14 15:58 ` [page-reclaim] " Shakeel Butt 2021-04-14 15:58 ` Shakeel Butt 2021-04-14 15:58 ` Shakeel Butt 2021-04-14 18:45 ` Yu Zhao 2021-04-14 18:45 ` Yu Zhao 2021-04-14 18:45 ` Yu Zhao 2021-04-14 15:51 ` Andi Kleen 2021-04-14 15:51 ` Andi Kleen 2021-04-14 15:58 ` Rik van Riel 2021-04-14 15:58 ` Rik van Riel 2021-04-14 15:58 ` Rik van Riel 2021-04-14 19:14 ` Yu Zhao 2021-04-14 19:14 ` Yu Zhao 2021-04-14 19:14 ` Yu Zhao 2021-04-14 19:41 ` Rik van Riel 2021-04-14 19:41 ` Rik van Riel 2021-04-14 19:41 ` Rik van Riel 2021-04-14 20:08 ` Yu Zhao 2021-04-14 20:08 ` Yu Zhao 2021-04-14 20:08 ` Yu Zhao 2021-04-14 19:04 ` Yu Zhao 2021-04-14 19:04 ` Yu Zhao 2021-04-14 19:04 ` Yu Zhao 2021-04-15 3:00 ` Andi Kleen 2021-04-15 3:00 ` Andi Kleen 2021-04-15 7:13 ` Yu Zhao 2021-04-15 7:13 ` Yu Zhao 2021-04-15 7:13 ` Yu Zhao 2021-04-15 8:19 ` Huang, Ying 2021-04-15 8:19 ` Huang, Ying 2021-04-15 8:19 ` Huang, Ying 2021-04-15 9:57 ` Michel Lespinasse 2021-04-18 6:48 ` Michel Lespinasse 2021-04-24 2:33 ` Yu Zhao 2021-04-24 2:33 ` Yu Zhao 2021-04-24 2:33 ` Yu Zhao 2021-04-24 3:30 ` Andi Kleen 2021-04-24 3:30 ` Andi Kleen 2021-04-24 4:16 ` Yu Zhao 2021-04-24 4:16 ` Yu Zhao 2021-04-24 4:16 ` Yu Zhao 2021-04-14 3:40 ` Yu Zhao 2021-04-14 3:40 ` Yu Zhao 2021-04-14 3:40 ` Yu Zhao 2021-04-14 4:50 ` Dave Chinner 2021-04-14 4:50 ` Dave Chinner 2021-04-14 7:16 ` Yu Zhao 2021-04-14 7:16 ` Yu Zhao 2021-04-14 7:16 ` Yu Zhao 2021-04-14 10:00 ` Yu Zhao 2021-04-14 10:00 ` Yu Zhao 2021-04-15 1:36 ` Dave Chinner 2021-04-15 1:36 ` Dave Chinner 2021-04-24 21:21 ` Yu Zhao 2021-04-24 21:21 ` Yu Zhao 2021-04-24 21:21 ` Yu Zhao 2021-04-14 14:43 ` Jens Axboe 2021-04-14 14:43 ` Jens Axboe 2021-04-14 19:42 ` Yu Zhao 2021-04-14 19:42 ` Yu Zhao 2021-04-14 19:42 ` Yu Zhao 2021-04-15 1:21 ` Dave Chinner 2021-04-15 1:21 ` Dave Chinner 2021-04-14 17:43 ` Johannes Weiner 2021-04-14 17:43 ` Johannes Weiner 2021-04-27 10:35 ` Yu Zhao 2021-04-27 10:35 ` Yu Zhao 2021-04-27 10:35 ` Yu Zhao 2021-04-29 23:46 ` Konstantin Kharlamov 2021-04-29 23:46 ` Konstantin Kharlamov 2021-04-29 23:46 ` Konstantin Kharlamov 2021-04-30 6:37 ` Konstantin Kharlamov 2021-04-30 6:37 ` Konstantin Kharlamov 2021-04-30 6:37 ` Konstantin Kharlamov 2021-04-30 19:31 ` Yu Zhao 2021-04-30 19:31 ` Yu Zhao 2021-04-30 19:31 ` Yu Zhao
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=202104140636.BHTZxlS1-lkp@intel.com \ --to=lkp@intel.com \ --cc=ak@linux.intel.com \ --cc=akpm@linux-foundation.org \ --cc=alexs@kernel.org \ --cc=axboe@kernel.dk \ --cc=ben.manes@gmail.com \ --cc=dave.hansen@linux.intel.com \ --cc=david@fromorbit.com \ --cc=hdanton@sina.com \ --cc=kbuild-all@lists.01.org \ --cc=linux-mm@kvack.org \ --cc=yuzhao@google.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.