From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [feng:master 9/10] mm/page_alloc.c:4754:6: error: 'watchdog_thresh' undeclared; did you mean 'proc_watchdog_thresh'?
Date: Sun, 17 Nov 2019 17:16:32 +0800 [thread overview]
Message-ID: <201911171730.QKFD5cRG%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6830 bytes --]
tree: feng/master
head: 7f07deef84904cb8c59e98cceb96e2dfcf2f8a61
commit: 81a18a0094e510662c7d1cb83f11dcef48736469 [9/10] page_alloc: add debug
config: arm64-randconfig-a001-20191117 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 81a18a0094e510662c7d1cb83f11dcef48736469
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
mm/page_alloc.c: In function '__alloc_pages_nodemask':
>> mm/page_alloc.c:4754:6: error: 'watchdog_thresh' undeclared (first use in this function); did you mean 'proc_watchdog_thresh'?
if (watchdog_thresh == 20) {
^~~~~~~~~~~~~~~
proc_watchdog_thresh
mm/page_alloc.c:4754:6: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/asm-generic/bug.h:19:0,
from arch/arm64/include/asm/bug.h:26,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from mm/page_alloc.c:19:
mm/page_alloc.c:4759:33: error: 'struct zone' has no member named 'node'; did you mean 'name'?
ac.preferred_zoneref->zone->node,
^
include/linux/kernel.h:816:40: note: in definition of macro '__trace_printk_check_format'
____trace_printk_check_format(fmt, ##args); \
^~~~
include/linux/kernel.h:853:3: note: in expansion of macro 'do_trace_printk'
do_trace_printk(fmt, ##__VA_ARGS__); \
^~~~~~~~~~~~~~~
include/linux/kernel.h:130:9: note: in expansion of macro 'trace_printk'
trace_printk(KERN_ERR "" f "\n",##x)
^~~~~~~~~~~~
mm/page_alloc.c:4758:4: note: in expansion of macro 'mtp'
mtp("ac->pref: node[%d].zone[%d] nodemask=0x%x order=%d",
^~~
mm/page_alloc.c:4759:33: error: 'struct zone' has no member named 'node'; did you mean 'name'?
ac.preferred_zoneref->zone->node,
^
include/linux/kernel.h:867:50: note: in definition of macro 'do_trace_printk'
__trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \
^~~~
include/linux/kernel.h:130:9: note: in expansion of macro 'trace_printk'
trace_printk(KERN_ERR "" f "\n",##x)
^~~~~~~~~~~~
mm/page_alloc.c:4758:4: note: in expansion of macro 'mtp'
mtp("ac->pref: node[%d].zone[%d] nodemask=0x%x order=%d",
^~~
mm/page_alloc.c:4759:33: error: 'struct zone' has no member named 'node'; did you mean 'name'?
ac.preferred_zoneref->zone->node,
^
include/linux/kernel.h:869:36: note: in definition of macro 'do_trace_printk'
__trace_printk(_THIS_IP_, fmt, ##args); \
^~~~
include/linux/kernel.h:130:9: note: in expansion of macro 'trace_printk'
trace_printk(KERN_ERR "" f "\n",##x)
^~~~~~~~~~~~
mm/page_alloc.c:4758:4: note: in expansion of macro 'mtp'
mtp("ac->pref: node[%d].zone[%d] nodemask=0x%x order=%d",
^~~
vim +4754 mm/page_alloc.c
4717
4718 /*
4719 * This is the 'heart' of the zoned buddy allocator.
4720 */
4721 struct page *
4722 __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid,
4723 nodemask_t *nodemask)
4724 {
4725 struct page *page;
4726 unsigned int alloc_flags = ALLOC_WMARK_LOW;
4727 gfp_t alloc_mask; /* The gfp_t that was actually used for allocation */
4728 struct alloc_context ac = { };
4729
4730 static unsigned long loop;
4731
4732 /*
4733 * There are several places where we assume that the order value is sane
4734 * so bail out early if the request is out of bound.
4735 */
4736 if (unlikely(order >= MAX_ORDER)) {
4737 WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));
4738 return NULL;
4739 }
4740
4741 gfp_mask &= gfp_allowed_mask;
4742 alloc_mask = gfp_mask;
4743 if (!prepare_alloc_pages(gfp_mask, order, preferred_nid, nodemask, &ac, &alloc_mask, &alloc_flags))
4744 return NULL;
4745
4746 finalise_ac(gfp_mask, &ac);
4747
4748 /*
4749 * Forbid the first pass from falling back to types that fragment
4750 * memory until all local zones are considered.
4751 */
4752 alloc_flags |= alloc_flags_nofragment(ac.preferred_zoneref->zone, gfp_mask);
4753
> 4754 if (watchdog_thresh == 20) {
4755
4756 if (loop % 4096 == 0) {
4757
4758 mtp("ac->pref: node[%d].zone[%d] nodemask=0x%x order=%d",
4759 ac.preferred_zoneref->zone->node,
4760 ac.preferred_zoneref->zone_idx,
4761 *((unsigned long *)ac.nodemask),
4762 order
4763 );
4764
4765 }
4766
4767 loop++;
4768
4769 }
4770
4771 /* First allocation attempt */
4772 page = get_page_from_freelist(alloc_mask, order, alloc_flags, &ac);
4773 if (likely(page))
4774 goto out;
4775
4776 /*
4777 * Apply scoped allocation constraints. This is mainly about GFP_NOFS
4778 * resp. GFP_NOIO which has to be inherited for all allocation requests
4779 * from a particular context which has been marked by
4780 * memalloc_no{fs,io}_{save,restore}.
4781 */
4782 alloc_mask = current_gfp_context(gfp_mask);
4783 ac.spread_dirty_pages = false;
4784
4785 /*
4786 * Restore the original nodemask if it was potentially replaced with
4787 * &cpuset_current_mems_allowed to optimize the fast-path attempt.
4788 */
4789 if (unlikely(ac.nodemask != nodemask))
4790 ac.nodemask = nodemask;
4791
4792 page = __alloc_pages_slowpath(alloc_mask, order, &ac);
4793
4794 out:
4795 if (memcg_kmem_enabled() && (gfp_mask & __GFP_ACCOUNT) && page &&
4796 unlikely(__memcg_kmem_charge(page, gfp_mask, order) != 0)) {
4797 __free_pages(page, order);
4798 page = NULL;
4799 }
4800
4801 trace_mm_page_alloc(page, order, alloc_mask, ac.migratetype);
4802
4803 return page;
4804 }
4805 EXPORT_SYMBOL(__alloc_pages_nodemask);
4806
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28324 bytes --]
reply other threads:[~2019-11-17 9:16 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201911171730.QKFD5cRG%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.