[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201711271511.otIseKh1%fengguang.wu@intel.com>
Date: Mon, 27 Nov 2017 15:44:00 +0800
From: kbuild test robot <lkp@...el.com>
To: Peter Enderborg <peter.enderborg@...y.com>
Cc: kbuild-all@...org, Michal Hocko <mhocko@...e.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, linux-fsdevel@...r.kernel.org,
Jonathan Corbet <corbet@....net>,
"Luis R . Rodriguez" <mcgrof@...nel.org>,
Kees Cook <keescook@...omium.org>,
Alex Deucher <alexander.deucher@....com>,
"David S . Miller" <davem@...emloft.net>,
Harry Wentland <Harry.Wentland@....com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Tony Cheng <Tony.Cheng@....com>,
David Rientjes <rientjes@...gle.com>,
Peter Enderborg <peter.enderborg@...y.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jan Kara <jack@...e.cz>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Dave Jiang <dave.jiang@...el.com>,
Jérôme Glisse <jglisse@...hat.com>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Matthew Wilcox <willy@...ux.intel.com>,
Hugh Dickins <hughd@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Kemi Wang <kemi.wang@...el.com>,
Vlastimil Babka <vbabka@...e.cz>,
YASUAKI ISHIMATSU <yasu.isimatu@...il.com>,
Nikolay Borisov <nborisov@...e.com>,
Mel Gorman <mgorman@...e.de>,
Pavel Tatashin <pasha.tatashin@...cle.com>
Subject: Re: [PATCH] mm:Add watermark slope for high mark
Hi Peter,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.15-rc1 next-20171127]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Peter-Enderborg/mm-Add-watermark-slope-for-high-mark/20171127-140339
base: git://git.cmpxchg.org/linux-mmotm.git master
config: i386-randconfig-s0-201748 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
mm/page_alloc.o: In function `__setup_per_zone_wmarks':
>> mm/page_alloc.c:7031: undefined reference to `__umoddi3'
>> mm/page_alloc.c:7031: undefined reference to `__udivdi3'
>> mm/page_alloc.c:7031: undefined reference to `__udivdi3'
vim +7031 mm/page_alloc.c
6977
6978 static void __setup_per_zone_wmarks(void)
6979 {
6980 unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10);
6981 unsigned long lowmem_pages = 0;
6982 struct zone *zone;
6983 unsigned long flags;
6984
6985 /* Calculate total number of !ZONE_HIGHMEM pages */
6986 for_each_zone(zone) {
6987 if (!is_highmem(zone))
6988 lowmem_pages += zone->managed_pages;
6989 }
6990
6991 for_each_zone(zone) {
6992 u64 tmp;
6993 u64 tmp_high;
6994
6995 spin_lock_irqsave(&zone->lock, flags);
6996 tmp = (u64)pages_min * zone->managed_pages;
6997 do_div(tmp, lowmem_pages);
6998 if (is_highmem(zone)) {
6999 /*
7000 * __GFP_HIGH and PF_MEMALLOC allocations usually don't
7001 * need highmem pages, so cap pages_min to a small
7002 * value here.
7003 *
7004 * The WMARK_HIGH-WMARK_LOW and (WMARK_LOW-WMARK_MIN)
7005 * deltas control asynch page reclaim, and so should
7006 * not be capped for highmem.
7007 */
7008 unsigned long min_pages;
7009
7010 min_pages = zone->managed_pages / 1024;
7011 min_pages = clamp(min_pages, SWAP_CLUSTER_MAX, 128UL);
7012 zone->watermark[WMARK_MIN] = min_pages;
7013 } else {
7014 /*
7015 * If it's a lowmem zone, reserve a number of pages
7016 * proportionate to the zone's size.
7017 */
7018 zone->watermark[WMARK_MIN] = tmp;
7019 }
7020
7021 /*
7022 * Set the kswapd watermarks distance according to the
7023 * scale factor in proportion to available memory, but
7024 * ensure a minimum size on small systems.
7025 */
7026 tmp = max_t(u64, tmp >> 2,
7027 mult_frac(zone->managed_pages,
7028 watermark_scale_factor, 10000));
7029
7030 zone->watermark[WMARK_LOW] = min_wmark_pages(zone) + tmp;
> 7031 tmp_high = mult_frac(tmp, watermark_high_factor_slope, 100);
7032 zone->watermark[WMARK_HIGH] = min_wmark_pages(zone) + tmp_high;
7033
7034
7035 spin_unlock_irqrestore(&zone->lock, flags);
7036 }
7037
7038 /* update totalreserve_pages */
7039 calculate_totalreserve_pages();
7040 }
7041
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (28242 bytes)
Powered by blists - more mailing lists