Re: [HMM 08/15] mm/ZONE_DEVICE: special case put_page() for device private pages

From: kbuild test robot
Date: Tue May 23 2017 - 05:35:08 EST


Hi Jérôme,

[auto build test ERROR on mmotm/master]
[also build test ERROR on next-20170523]
[cannot apply to v4.12-rc2]
[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/J-r-me-Glisse/HMM-Heterogeneous-Memory-Management-v22/20170523-153623
base: git://git.cmpxchg.org/linux-mmotm.git master
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa

All errors (new ones prefixed by >>):

In file included from include/linux/mm.h:26:0,
from include/linux/pid_namespace.h:6,
from include/linux/ptrace.h:9,
from arch/xtensa/kernel/asm-offsets.c:21:
>> include/linux/memremap.h:97:5: error: unknown type name 'pmd_t'
pmd_t *pmdp);
^
>> include/linux/memremap.h:112:2: error: unknown type name 'dev_page_fault_t'
dev_page_fault_t page_fault;
^
make[2]: *** [arch/xtensa/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2

vim +/pmd_t +97 include/linux/memremap.h

637316dc Jérôme Glisse 2017-05-22 91 * This allows the device driver to implement its own memory management.)
637316dc Jérôme Glisse 2017-05-22 92 */
637316dc Jérôme Glisse 2017-05-22 93 typedef int (*dev_page_fault_t)(struct vm_area_struct *vma,
637316dc Jérôme Glisse 2017-05-22 94 unsigned long addr,
637316dc Jérôme Glisse 2017-05-22 95 struct page *page,
637316dc Jérôme Glisse 2017-05-22 96 unsigned int flags,
637316dc Jérôme Glisse 2017-05-22 @97 pmd_t *pmdp);
637316dc Jérôme Glisse 2017-05-22 98 typedef void (*dev_page_free_t)(struct page *page, void *data);
637316dc Jérôme Glisse 2017-05-22 99
9476df7d Dan Williams 2016-01-15 100 /**
9476df7d Dan Williams 2016-01-15 101 * struct dev_pagemap - metadata for ZONE_DEVICE mappings
637316dc Jérôme Glisse 2017-05-22 102 * @page_fault: callback when CPU fault on an unaddressable device page
637316dc Jérôme Glisse 2017-05-22 103 * @page_free: free page callback when page refcount reaches 1
4b94ffdc Dan Williams 2016-01-15 104 * @altmap: pre-allocated/reserved memory for vmemmap allocations
5c2c2587 Dan Williams 2016-01-15 105 * @res: physical address range covered by @ref
5c2c2587 Dan Williams 2016-01-15 106 * @ref: reference count that pins the devm_memremap_pages() mapping
9476df7d Dan Williams 2016-01-15 107 * @dev: host device of the mapping for debug
637316dc Jérôme Glisse 2017-05-22 108 * @data: private data pointer for page_free()
637316dc Jérôme Glisse 2017-05-22 109 * @type: memory type: see MEMORY_* in memory_hotplug.h
9476df7d Dan Williams 2016-01-15 110 */
9476df7d Dan Williams 2016-01-15 111 struct dev_pagemap {
637316dc Jérôme Glisse 2017-05-22 @112 dev_page_fault_t page_fault;
637316dc Jérôme Glisse 2017-05-22 113 dev_page_free_t page_free;
4b94ffdc Dan Williams 2016-01-15 114 struct vmem_altmap *altmap;
4b94ffdc Dan Williams 2016-01-15 115 const struct resource *res;

:::::: The code at line 97 was first introduced by commit
:::::: 637316dc095146524a922f5429b0b78840bede2d mm/ZONE_DEVICE: new type of ZONE_DEVICE for unaddressable memory v2

:::::: TO: Jérôme Glisse <jglisse@xxxxxxxxxx>
:::::: CC: 0day robot <fengguang.wu@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip