Messages in this thread | | | Date | Fri, 4 Feb 2022 18:31:40 +0800 | From | kernel test robot <> | Subject | [nsaenz-rpi:pcplists-rcu-drain-v1 1/2] mm/page_alloc.c:1481:30: sparse: sparse: incorrect type in assignment (different modifiers) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git pcplists-rcu-drain-v1 head: 01b58921eae8d67b3ad6b05e73c2a1dd7106ae28 commit: eb4d0c9ef79083312513bfbbf26d6ef7defcc6b3 [1/2] mm/page_alloc: Access lists in 'struct per_cpu_pages' indirectly config: h8300-randconfig-s032-20220201 (https://download.01.org/0day-ci/archive/20220204/202202041807.DLd23Ex7-lkp@intel.com/config) compiler: h8300-linux-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git/commit/?id=eb4d0c9ef79083312513bfbbf26d6ef7defcc6b3 git remote add nsaenz-rpi https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git git fetch --no-tags nsaenz-rpi pcplists-rcu-drain-v1 git checkout eb4d0c9ef79083312513bfbbf26d6ef7defcc6b3 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=h8300 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>) >> mm/page_alloc.c:1481:30: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@ mm/page_alloc.c:1481:30: sparse: expected struct list_head *list mm/page_alloc.c:1481:30: sparse: got struct list_head [noderef] * >> mm/page_alloc.c:3442:40: sparse: sparse: incorrect type in argument 2 (different modifiers) @@ expected struct list_head *head @@ got struct list_head [noderef] * @@ mm/page_alloc.c:3442:40: sparse: expected struct list_head *head mm/page_alloc.c:3442:40: sparse: got struct list_head [noderef] * mm/page_alloc.c:3733:14: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@ mm/page_alloc.c:3733:14: sparse: expected struct list_head *list mm/page_alloc.c:3733:14: sparse: got struct list_head [noderef] * >> mm/page_alloc.c:3734:15: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected int *count @@ got int [noderef] * @@ mm/page_alloc.c:3734:15: sparse: expected int *count mm/page_alloc.c:3734:15: sparse: got int [noderef] * >> mm/page_alloc.c:5356:18: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *pcp_list @@ got struct list_head [noderef] * @@ mm/page_alloc.c:5356:18: sparse: expected struct list_head *pcp_list mm/page_alloc.c:5356:18: sparse: got struct list_head [noderef] * mm/page_alloc.c:5357:15: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected int *count @@ got int [noderef] * @@ mm/page_alloc.c:5357:15: sparse: expected int *count mm/page_alloc.c:5357:15: sparse: got int [noderef] * mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** mm/page_alloc.c:6068:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct per_cpu_pages [noderef] __percpu ** @@ mm/page_alloc.c:6068:17: sparse: expected void const [noderef] __percpu *__vpp_verify mm/page_alloc.c:6068:17: sparse: got struct per_cpu_pages [noderef] __percpu ** >> mm/page_alloc.c:7022:47: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@ mm/page_alloc.c:7022:47: sparse: expected struct list_head *list mm/page_alloc.c:7022:47: sparse: got struct list_head [noderef] * >> mm/page_alloc.c:1466:17: sparse: sparse: dereference of noderef expression mm/page_alloc.c:1521:9: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3163:13: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3164:42: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3277:29: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3282:37: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3443:9: sparse: sparse: dereference of noderef expression mm/page_alloc.c:3445:13: sparse: sparse: dereference of noderef expression mm/page_alloc.c: note: in included file (through include/linux/mm.h): include/linux/gfp.h:368:27: sparse: sparse: restricted gfp_t degrades to integer include/linux/gfp.h:368:27: sparse: sparse: restricted gfp_t degrades to integer mm/page_alloc.c:5971:76: sparse: sparse: dereference of noderef expression mm/page_alloc.c:6065:76: sparse: sparse: dereference of noderef expression mm/page_alloc.c:6068:17: sparse: sparse: dereference of noderef expression mm/page_alloc.c:6068:17: sparse: sparse: dereference of noderef expression
vim +1481 mm/page_alloc.c
1445 1446 /* 1447 * Frees a number of pages from the PCP lists 1448 * Assumes all pages on list are in same zone. 1449 * count is the number of pages to free. 1450 */ 1451 static void free_pcppages_bulk(struct zone *zone, int count, 1452 int batch, struct pcplists *lp) 1453 { 1454 int pindex = 0; 1455 int batch_free = 0; 1456 int nr_freed = 0; 1457 unsigned int order; 1458 bool isolated_pageblocks; 1459 struct page *page, *tmp; 1460 LIST_HEAD(head); 1461 1462 /* 1463 * Ensure proper count is passed which otherwise would stuck in the 1464 * below while (list_empty(list)) loop. 1465 */ > 1466 count = min(lp->count, count); 1467 while (count > 0) { 1468 struct list_head *list; 1469 1470 /* 1471 * Remove pages from lists in a round-robin fashion. A 1472 * batch_free count is maintained that is incremented when an 1473 * empty list is encountered. This is so more pages are freed 1474 * off fuller lists instead of spinning excessively around empty 1475 * lists 1476 */ 1477 do { 1478 batch_free++; 1479 if (++pindex == NR_PCP_LISTS) 1480 pindex = 0; > 1481 list = &lp->lists[pindex]; 1482 } while (list_empty(list)); 1483 1484 /* This is the only non-empty list. Free them all. */ 1485 if (batch_free == NR_PCP_LISTS) 1486 batch_free = count; 1487 1488 order = pindex_to_order(pindex); 1489 BUILD_BUG_ON(MAX_ORDER >= (1<<NR_PCP_ORDER_WIDTH)); 1490 do { 1491 page = list_last_entry(list, struct page, lru); 1492 /* must delete to avoid corrupting pcp list */ 1493 list_del(&page->lru); 1494 nr_freed += 1 << order; 1495 count -= 1 << order; 1496 1497 if (bulkfree_pcp_prepare(page)) 1498 continue; 1499 1500 /* Encode order with the migratetype */ 1501 page->index <<= NR_PCP_ORDER_WIDTH; 1502 page->index |= order; 1503 1504 list_add_tail(&page->lru, &head); 1505 1506 /* 1507 * We are going to put the page back to the global 1508 * pool, prefetch its buddy to speed up later access 1509 * under zone->lock. It is believed the overhead of 1510 * an additional test and calculating buddy_pfn here 1511 * can be offset by reduced memory latency later. To 1512 * avoid excessive prefetching due to large count, only 1513 * prefetch buddy for the first pcp->batch nr of pages. 1514 */ 1515 if (batch) { 1516 prefetch_buddy(page); 1517 batch--; 1518 } 1519 } while (count > 0 && --batch_free && !list_empty(list)); 1520 } 1521 lp->count -= nr_freed; 1522 1523 /* 1524 * local_lock_irq held so equivalent to spin_lock_irqsave for 1525 * both PREEMPT_RT and non-PREEMPT_RT configurations. 1526 */ 1527 spin_lock(&zone->lock); 1528 isolated_pageblocks = has_isolate_pageblock(zone); 1529 1530 /* 1531 * Use safe version since after __free_one_page(), 1532 * page->lru.next will not point to original list. 1533 */ 1534 list_for_each_entry_safe(page, tmp, &head, lru) { 1535 int mt = get_pcppage_migratetype(page); 1536 1537 /* mt has been encoded with the order (see above) */ 1538 order = mt & NR_PCP_ORDER_MASK; 1539 mt >>= NR_PCP_ORDER_WIDTH; 1540 1541 /* MIGRATE_ISOLATE page should not go to pcplists */ 1542 VM_BUG_ON_PAGE(is_migrate_isolate(mt), page); 1543 /* Pageblock could have been isolated meanwhile */ 1544 if (unlikely(isolated_pageblocks)) 1545 mt = get_pageblock_migratetype(page); 1546 1547 __free_one_page(page, page_to_pfn(page), zone, order, mt, FPI_NONE); 1548 trace_mm_page_pcpu_drain(page, order, mt); 1549 } 1550 spin_unlock(&zone->lock); 1551 } 1552
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |