Message ID | 20221018181053.434508-6-urezki@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add basic trace events for vmap/vmalloc (v2) | expand |
> + return num_purged_areas > 0 ? true:false; The formatting here is a bit off due to the lack of whitespaces around the :. But as boolean expression propagate to boolean values this can be simplified to: return num_purged_areas > 0; anyway. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
> > + return num_purged_areas > 0 ? true:false; > > The formatting here is a bit off due to the lack of whitespaces around > the :. But as boolean expression propagate to boolean values this > can be simplified to: > > return num_purged_areas > 0; > Good point! Indeed it is odd. -- Uladzislau Rezki
Hi Uladzislau,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on linus/master v6.1-rc1]
[cannot apply to next-20221021]
[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/Uladzislau-Rezki-Sony/Add-basic-trace-events-for-vmap-vmalloc-v2/20221019-021918
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20221018181053.434508-6-urezki%40gmail.com
patch subject: [PATCH v2 5/7] mm: vmalloc: Use trace_purge_vmap_area_lazy event
config: sparc-randconfig-c031-20221023
compiler: sparc64-linux-gcc (GCC) 12.1.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
cocci warnings: (new ones prefixed by >>)
>> mm/vmalloc.c:1789:36-41: WARNING: conversion to bool not needed here
Hello, Andrew. > Hi Uladzislau, > > Thank you for the patch! Perhaps something to improve: > > [auto build test WARNING on akpm-mm/mm-everything] > [also build test WARNING on linus/master v6.1-rc1] > [cannot apply to next-20221021] > [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/Uladzislau-Rezki-Sony/Add-basic-trace-events-for-vmap-vmalloc-v2/20221019-021918 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20221018181053.434508-6-urezki%40gmail.com > patch subject: [PATCH v2 5/7] mm: vmalloc: Use trace_purge_vmap_area_lazy event > config: sparc-randconfig-c031-20221023 > compiler: sparc64-linux-gcc (GCC) 12.1.0 > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@intel.com> > > cocci warnings: (new ones prefixed by >>) > >> mm/vmalloc.c:1789:36-41: WARNING: conversion to bool not needed here > I think it should be fixed by the: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-vmalloc-use-trace_purge_vmap_area_lazy-event-fix.patch Thanks! -- Uladzislau Rezki
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index aa86f21bfad0..4292f44ae670 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1731,6 +1731,7 @@ static void purge_fragmented_blocks_allcpus(void); static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end) { unsigned long resched_threshold; + unsigned int num_purged_areas = 0; struct list_head local_purge_list; struct vmap_area *va, *n_va; @@ -1742,7 +1743,7 @@ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end) spin_unlock(&purge_vmap_area_lock); if (unlikely(list_empty(&local_purge_list))) - return false; + goto out; start = min(start, list_first_entry(&local_purge_list, @@ -1777,12 +1778,16 @@ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end) va->va_start, va->va_end); atomic_long_sub(nr, &vmap_lazy_nr); + num_purged_areas++; if (atomic_long_read(&vmap_lazy_nr) < resched_threshold) cond_resched_lock(&free_vmap_area_lock); } spin_unlock(&free_vmap_area_lock); - return true; + +out: + trace_purge_vmap_area_lazy(start, end, num_purged_areas); + return num_purged_areas > 0 ? true:false; } /*
This is for debug purpose and is called when all outstanding areas are removed back to the vmap space. It gives some extra information about: - a start:end range where set of vmap ares were freed; - a number of purged areas which were backed off. Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> --- mm/vmalloc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)