Hi Steven,

kernel test robot noticed the following build warnings:

[auto build test WARNING on trace/for-next]
[also build test WARNING on linus/master v6.18-rc7 next-20251125]
[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/Steven-Rostedt/ring-buffer-Add-helper-functions-for-allocations/20251125-031044
base:   https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace 
for-next
patch link:    
https://lore.kernel.org/r/20251124140906.71a2abf6%40gandalf.local.home
patch subject: [PATCH] ring-buffer: Add helper functions for allocations
config: x86_64-defconfig 
(https://download.01.org/0day-ci/archive/20251125/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20251125/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   kernel/trace/ring_buffer.c: In function '__rb_allocate_pages':
>> kernel/trace/ring_buffer.c:2279:30: warning: unused variable 'page' 
>> [-Wunused-variable]
    2279 |                 struct page *page;
         |                              ^~~~
>> kernel/trace/ring_buffer.c:2242:15: warning: variable 'mflags' set but not 
>> used [-Wunused-but-set-variable]
    2242 |         gfp_t mflags;
         |               ^~~~~~
   kernel/trace/ring_buffer.c: In function 'rb_allocate_cpu_buffer':
   kernel/trace/ring_buffer.c:2362:22: warning: unused variable 'page' 
[-Wunused-variable]
    2362 |         struct page *page;
         |                      ^~~~
   kernel/trace/ring_buffer.c: In function 'ring_buffer_alloc_read_page':
   kernel/trace/ring_buffer.c:6493:22: warning: unused variable 'page' 
[-Wunused-variable]
    6493 |         struct page *page;
         |                      ^~~~


vim +/page +2279 kernel/trace/ring_buffer.c

c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2234) 
74e2afc6df5782 Qiujun Huang                2020-10-15  2235  static int 
__rb_allocate_pages(struct ring_buffer_per_cpu *cpu_buffer,
74e2afc6df5782 Qiujun Huang                2020-10-15  2236             long 
nr_pages, struct list_head *pages)
7a8e76a3829f10 Steven Rostedt              2008-09-29  2237  {
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2238)    struct 
trace_buffer *buffer = cpu_buffer->buffer;
4009cc31e7813e Steven Rostedt              2025-03-05  2239     struct 
ring_buffer_cpu_meta *meta = NULL;
044fa782ebb947 Steven Rostedt              2008-12-02  2240     struct 
buffer_page *bpage, *tmp;
927e56db625322 Steven Rostedt (VMware      2018-04-04  2241)    bool 
user_thread = current->mm != NULL;
927e56db625322 Steven Rostedt (VMware      2018-04-04 @2242)    gfp_t mflags;
9b94a8fba501f3 Steven Rostedt (Red Hat     2016-05-12  2243)    long i;
3adc54fa82a68b Steven Rostedt              2009-03-30  2244  
927e56db625322 Steven Rostedt (VMware      2018-04-04  2245)    /*
927e56db625322 Steven Rostedt (VMware      2018-04-04  2246)     * Check if the 
available memory is there first.
927e56db625322 Steven Rostedt (VMware      2018-04-04  2247)     * Note, 
si_mem_available() only gives us a rough estimate of available
927e56db625322 Steven Rostedt (VMware      2018-04-04  2248)     * memory. It 
may not be accurate. But we don't care, we just want
927e56db625322 Steven Rostedt (VMware      2018-04-04  2249)     * to prevent 
doing any allocation when it is obvious that it is
927e56db625322 Steven Rostedt (VMware      2018-04-04  2250)     * not going to 
succeed.
927e56db625322 Steven Rostedt (VMware      2018-04-04  2251)     */
2a872fa4e9c8ad Steven Rostedt (VMware      2018-04-02  2252)    i = 
si_mem_available();
2a872fa4e9c8ad Steven Rostedt (VMware      2018-04-02  2253)    if (i < 
nr_pages)
2a872fa4e9c8ad Steven Rostedt (VMware      2018-04-02  2254)            return 
-ENOMEM;
2a872fa4e9c8ad Steven Rostedt (VMware      2018-04-02  2255) 
d7ec4bfed6c974 Vaibhav Nagarnaik           2011-06-07  2256     /*
848618857d2535 Joel Fernandes              2017-07-12  2257      * 
__GFP_RETRY_MAYFAIL flag makes sure that the allocation fails
848618857d2535 Joel Fernandes              2017-07-12  2258      * gracefully 
without invoking oom-killer and the system is not
848618857d2535 Joel Fernandes              2017-07-12  2259      * destabilized.
d7ec4bfed6c974 Vaibhav Nagarnaik           2011-06-07  2260      */
927e56db625322 Steven Rostedt (VMware      2018-04-04  2261)    mflags = 
GFP_KERNEL | __GFP_RETRY_MAYFAIL;
927e56db625322 Steven Rostedt (VMware      2018-04-04  2262) 
927e56db625322 Steven Rostedt (VMware      2018-04-04  2263)    /*
927e56db625322 Steven Rostedt (VMware      2018-04-04  2264)     * If a user 
thread allocates too much, and si_mem_available()
927e56db625322 Steven Rostedt (VMware      2018-04-04  2265)     * reports 
there's enough memory, even though there is not.
927e56db625322 Steven Rostedt (VMware      2018-04-04  2266)     * Make sure 
the OOM killer kills this thread. This can happen
927e56db625322 Steven Rostedt (VMware      2018-04-04  2267)     * even with 
RETRY_MAYFAIL because another task may be doing
927e56db625322 Steven Rostedt (VMware      2018-04-04  2268)     * an 
allocation after this task has taken all memory.
927e56db625322 Steven Rostedt (VMware      2018-04-04  2269)     * This is the 
task the OOM killer needs to take out during this
927e56db625322 Steven Rostedt (VMware      2018-04-04  2270)     * loop, even 
if it was triggered by an allocation somewhere else.
927e56db625322 Steven Rostedt (VMware      2018-04-04  2271)     */
927e56db625322 Steven Rostedt (VMware      2018-04-04  2272)    if (user_thread)
927e56db625322 Steven Rostedt (VMware      2018-04-04  2273)            
set_current_oom_origin();
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2274) 
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2275)    if 
(buffer->range_addr_start)
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2276)            meta = 
rb_range_meta(buffer, nr_pages, cpu_buffer->cpu);
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2277) 
927e56db625322 Steven Rostedt (VMware      2018-04-04  2278)    for (i = 0; i < 
nr_pages; i++) {
927e56db625322 Steven Rostedt (VMware      2018-04-04 @2279)            struct 
page *page;
927e56db625322 Steven Rostedt (VMware      2018-04-04  2280) 
1e3d56c5556b8d Steven Rostedt              2025-11-24  2281             bpage = 
alloc_cpu_page(cpu_buffer->cpu);
044fa782ebb947 Steven Rostedt              2008-12-02  2282             if 
(!bpage)
e4c2ce82ca2710 Steven Rostedt              2008-10-01  2283                     
goto free_pages;
77ae365eca8950 Steven Rostedt              2009-03-27  2284  
74e2afc6df5782 Qiujun Huang                2020-10-15  2285             
rb_check_bpage(cpu_buffer, bpage);
74e2afc6df5782 Qiujun Huang                2020-10-15  2286  
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2287)            /*
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2288)             * 
Append the pages as for mapped buffers we want to keep
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2289)             * the 
order
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2290)             */
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2291)            
list_add_tail(&bpage->list, pages);
e4c2ce82ca2710 Steven Rostedt              2008-10-01  2292  
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2293)            if 
(meta) {
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2294)                    
/* A range was given. Use that for the buffer page */
b14d032973d4e6 Steven Rostedt (Google      2024-06-12  2295)                    
bpage->page = rb_range_buffer(cpu_buffer, i + 1);
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2296)                    
if (!bpage->page)
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2297)                    
        goto free_pages;
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2298)                    
/* If this is valid from a previous boot */
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2299)                    
if (meta->head_buffer)
c76883f18e59b7 Steven Rostedt (Google      2024-06-12  2300)                    
        rb_meta_buffer_update(cpu_buffer, bpage);
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2301)                    
bpage->range = 1;
b14d032973d4e6 Steven Rostedt (Google      2024-06-12  2302)                    
bpage->id = i + 1;
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2303)            } else {
1e3d56c5556b8d Steven Rostedt              2025-11-24  2304                     
int order = cpu_buffer->buffer->subbuf_order;
1e3d56c5556b8d Steven Rostedt              2025-11-24  2305                     
bpage->page = alloc_cpu_data(cpu_buffer->cpu, order);
1e3d56c5556b8d Steven Rostedt              2025-11-24  2306                     
if (!bpage->page)
7a8e76a3829f10 Steven Rostedt              2008-09-29  2307                     
        goto free_pages;
be68d63a139bd4 Steven Rostedt (Google      2024-06-12  2308)            }
f9b94daa542a8d Tzvetomir Stoyanov (VMware  2023-12-19  2309)            
bpage->order = cpu_buffer->buffer->subbuf_order;
927e56db625322 Steven Rostedt (VMware      2018-04-04  2310) 
927e56db625322 Steven Rostedt (VMware      2018-04-04  2311)            if 
(user_thread && fatal_signal_pending(current))
927e56db625322 Steven Rostedt (VMware      2018-04-04  2312)                    
goto free_pages;
7a8e76a3829f10 Steven Rostedt              2008-09-29  2313     }
927e56db625322 Steven Rostedt (VMware      2018-04-04  2314)    if (user_thread)
927e56db625322 Steven Rostedt (VMware      2018-04-04  2315)            
clear_current_oom_origin();
7a8e76a3829f10 Steven Rostedt              2008-09-29  2316  
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2317     return 0;
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2318  
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2319  free_pages:
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2320     
list_for_each_entry_safe(bpage, tmp, pages, list) {
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2321             
list_del_init(&bpage->list);
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2322             
free_buffer_page(bpage);
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2323     }
927e56db625322 Steven Rostedt (VMware      2018-04-04  2324)    if (user_thread)
927e56db625322 Steven Rostedt (VMware      2018-04-04  2325)            
clear_current_oom_origin();
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2326  
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2327     return -ENOMEM;
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2328  }
438ced1720b584 Vaibhav Nagarnaik           2012-02-02  2329  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to