CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Nicolas Saenz Julienne <[email protected]> TO: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected]
Hi Nicolas, I love your patch! Perhaps something to improve: [auto build test WARNING on hnaz-mm/master] url: https://github.com/0day-ci/linux/commits/Nicolas-Saenz-Julienne/mm-page_alloc-Remote-per-cpu-page-list-drain-support/20211104-010825 base: https://github.com/hnaz/linux-mm master :::::: branch date: 8 days ago :::::: commit date: 8 days ago config: openrisc-randconfig-m031-20211103 (attached as .config) compiler: or1k-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: mm/page_alloc.c:3446 free_unref_page_list() error: uninitialized symbol 'flags'. vim +/flags +3446 mm/page_alloc.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 3402 cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3403 /* cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3404 * Free a list of 0-order pages cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3405 */ 2d4894b5d2ae0f Mel Gorman 2017-11-15 3406 void free_unref_page_list(struct list_head *list) cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3407 { cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3408 struct page *page, *next; 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3409 spinlock_t *lock = NULL; 69c421f2b49b31 Nicolas Saenz Julienne 2021-11-03 3410 unsigned long flags; c24ad77d962c31 Lucas Stach 2017-12-14 3411 int batch_count = 0; df1acc856923c0 Mel Gorman 2021-06-28 3412 int migratetype; cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3413 9cca35d42eb61b Mel Gorman 2017-11-15 3414 /* Prepare pages for freeing */ cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3415 list_for_each_entry_safe(page, next, list, lru) { 69c421f2b49b31 Nicolas Saenz Julienne 2021-11-03 3416 unsigned long pfn = page_to_pfn(page); 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3417 053cfda102306a Miaohe Lin 2021-09-08 3418 if (!free_unref_page_prepare(page, pfn, 0)) { 9cca35d42eb61b Mel Gorman 2017-11-15 3419 list_del(&page->lru); 053cfda102306a Miaohe Lin 2021-09-08 3420 continue; 053cfda102306a Miaohe Lin 2021-09-08 3421 } df1acc856923c0 Mel Gorman 2021-06-28 3422 df1acc856923c0 Mel Gorman 2021-06-28 3423 /* df1acc856923c0 Mel Gorman 2021-06-28 3424 * Free isolated pages directly to the allocator, see df1acc856923c0 Mel Gorman 2021-06-28 3425 * comment in free_unref_page. df1acc856923c0 Mel Gorman 2021-06-28 3426 */ df1acc856923c0 Mel Gorman 2021-06-28 3427 migratetype = get_pcppage_migratetype(page); df1acc856923c0 Mel Gorman 2021-06-28 3428 if (unlikely(is_migrate_isolate(migratetype))) { 9cca35d42eb61b Mel Gorman 2017-11-15 3429 list_del(&page->lru); 47aef6010b8376 Doug Berger 2021-08-19 3430 free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE); df1acc856923c0 Mel Gorman 2021-06-28 3431 continue; df1acc856923c0 Mel Gorman 2021-06-28 3432 } 9cca35d42eb61b Mel Gorman 2017-11-15 3433 } 9cca35d42eb61b Mel Gorman 2017-11-15 3434 9cca35d42eb61b Mel Gorman 2017-11-15 3435 list_for_each_entry_safe(page, next, list, lru) { 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3436 struct per_cpu_pages *pcp = this_cpu_ptr(page_zone(page)->per_cpu_pageset); 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3437 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3438 /* 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3439 * As an optimization, release the previously held lock only if 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3440 * the page belongs to a different zone. But also, guard 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3441 * against excessive IRQ disabled times when we get a large 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3442 * list of pages to free. 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3443 */ 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3444 if (++batch_count == SWAP_CLUSTER_MAX || 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3445 (lock != &pcp->lock && lock)) { 5541e536595406 Nicolas Saenz Julienne 2021-11-03 @3446 spin_unlock_irqrestore(lock, flags); 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3447 batch_count = 0; 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3448 lock = NULL; 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3449 } 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3450 47aef6010b8376 Doug Berger 2021-08-19 3451 /* 47aef6010b8376 Doug Berger 2021-08-19 3452 * Non-isolated types over MIGRATE_PCPTYPES get added 47aef6010b8376 Doug Berger 2021-08-19 3453 * to the MIGRATE_MOVABLE pcp list. 47aef6010b8376 Doug Berger 2021-08-19 3454 */ df1acc856923c0 Mel Gorman 2021-06-28 3455 migratetype = get_pcppage_migratetype(page); 47aef6010b8376 Doug Berger 2021-08-19 3456 if (unlikely(migratetype >= MIGRATE_PCPTYPES)) 47aef6010b8376 Doug Berger 2021-08-19 3457 migratetype = MIGRATE_MOVABLE; 47aef6010b8376 Doug Berger 2021-08-19 3458 2d4894b5d2ae0f Mel Gorman 2017-11-15 3459 trace_mm_page_free_batched(page); c24ad77d962c31 Lucas Stach 2017-12-14 3460 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3461 if (!lock) { 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3462 spin_lock_irqsave(&pcp->lock, flags); 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3463 lock = &pcp->lock; c24ad77d962c31 Lucas Stach 2017-12-14 3464 } 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3465 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3466 free_unref_page_commit(page, pcp, migratetype, 0); cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3467 } 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3468 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3469 if (lock) 5541e536595406 Nicolas Saenz Julienne 2021-11-03 3470 spin_unlock_irqrestore(lock, flags); cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3471 } cc59850ef940e4 Konstantin Khlebnikov 2012-01-10 3472 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
