From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC 2/2] dirvers & fs: add sram driver and sramfs
Date: Sat, 05 Oct 2019 02:58:02 +0800 [thread overview]
Message-ID: <201910050217.S5macP5D%lkp@intel.com> (raw)
In-Reply-To: <20191004133855.17474-3-l.luba@partner.samsung.com>
[-- Attachment #1: Type: text/plain, Size: 6824 bytes --]
Hi Lukasz,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on char-misc/char-misc-testing]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Lukasz-Luba/SRAMFS-a-direct-mapped-SRAM-pages-into-user-space/20191005-023038
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
mm/memory.c: In function 'zap_pte_range':
>> mm/memory.c:1027:8: error: used union type value where scalar is required
if (ptent)
^~~~~
In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/smp.h:12,
from include/linux/kernel_stat.h:5,
from mm/memory.c:42:
>> include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'pte_t {aka union <anonymous>}' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH'
#define KERN_INFO KERN_SOH "6" /* informational */
^~~~~~~~
include/linux/printk.h:311:9: note: in expansion of macro 'KERN_INFO'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~
>> mm/memory.c:1028:5: note: in expansion of macro 'pr_info'
pr_info("MM: pte not valid pte=%x\n", ptent);
^~~~~~~
mm/memory.c:1028:37: note: format string is defined here
pr_info("MM: pte not valid pte=%x\n", ptent);
~^
vim +1027 mm/memory.c
1003
1004 static unsigned long zap_pte_range(struct mmu_gather *tlb,
1005 struct vm_area_struct *vma, pmd_t *pmd,
1006 unsigned long addr, unsigned long end,
1007 struct zap_details *details)
1008 {
1009 struct mm_struct *mm = tlb->mm;
1010 int force_flush = 0;
1011 int rss[NR_MM_COUNTERS];
1012 spinlock_t *ptl;
1013 pte_t *start_pte;
1014 pte_t *pte;
1015 swp_entry_t entry;
1016
1017 tlb_change_page_size(tlb, PAGE_SIZE);
1018 again:
1019 init_rss_vec(rss);
1020 start_pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
1021 pte = start_pte;
1022 flush_tlb_batched_pending(mm);
1023 arch_enter_lazy_mmu_mode();
1024 do {
1025 pte_t ptent = *pte;
1026 if (pte_none(ptent)) {
> 1027 if (ptent)
> 1028 pr_info("MM: pte not valid pte=%x\n", ptent);
1029 continue;
1030 }
1031
1032 if (pte_present(ptent)) {
1033 struct page *page;
1034
1035 page = vm_normal_page(vma, addr, ptent);
1036 if (unlikely(details) && page) {
1037 /*
1038 * unmap_shared_mapping_pages() wants to
1039 * invalidate cache without truncating:
1040 * unmap shared but keep private pages.
1041 */
1042 if (details->check_mapping &&
1043 details->check_mapping != page_rmapping(page))
1044 continue;
1045 }
1046 ptent = ptep_get_and_clear_full(mm, addr, pte,
1047 tlb->fullmm);
1048 tlb_remove_tlb_entry(tlb, pte, addr);
1049 if (unlikely(!page))
1050 continue;
1051
1052 if (!PageAnon(page)) {
1053 if (pte_dirty(ptent)) {
1054 force_flush = 1;
1055 set_page_dirty(page);
1056 }
1057 if (pte_young(ptent) &&
1058 likely(!(vma->vm_flags & VM_SEQ_READ)))
1059 mark_page_accessed(page);
1060 }
1061 rss[mm_counter(page)]--;
1062 page_remove_rmap(page, false);
1063 if (unlikely(page_mapcount(page) < 0))
1064 print_bad_pte(vma, addr, ptent, page);
1065 if (unlikely(__tlb_remove_page(tlb, page))) {
1066 force_flush = 1;
1067 addr += PAGE_SIZE;
1068 break;
1069 }
1070 continue;
1071 }
1072
1073 entry = pte_to_swp_entry(ptent);
1074 if (non_swap_entry(entry) && is_device_private_entry(entry)) {
1075 struct page *page = device_private_entry_to_page(entry);
1076
1077 if (unlikely(details && details->check_mapping)) {
1078 /*
1079 * unmap_shared_mapping_pages() wants to
1080 * invalidate cache without truncating:
1081 * unmap shared but keep private pages.
1082 */
1083 if (details->check_mapping !=
1084 page_rmapping(page))
1085 continue;
1086 }
1087
1088 pte_clear_not_present_full(mm, addr, pte, tlb->fullmm);
1089 rss[mm_counter(page)]--;
1090 page_remove_rmap(page, false);
1091 put_page(page);
1092 continue;
1093 }
1094
1095 /* If details->check_mapping, we leave swap entries. */
1096 if (unlikely(details))
1097 continue;
1098
1099 entry = pte_to_swp_entry(ptent);
1100 if (!non_swap_entry(entry))
1101 rss[MM_SWAPENTS]--;
1102 else if (is_migration_entry(entry)) {
1103 struct page *page;
1104
1105 page = migration_entry_to_page(entry);
1106 rss[mm_counter(page)]--;
1107 }
1108 if (unlikely(!free_swap_and_cache(entry)))
1109 print_bad_pte(vma, addr, ptent, NULL);
1110 pte_clear_not_present_full(mm, addr, pte, tlb->fullmm);
1111 } while (pte++, addr += PAGE_SIZE, addr != end);
1112
1113 add_mm_rss_vec(mm, rss);
1114 arch_leave_lazy_mmu_mode();
1115
1116 /* Do the actual TLB flush before dropping ptl */
1117 if (force_flush)
1118 tlb_flush_mmu_tlbonly(tlb);
1119 pte_unmap_unlock(start_pte, ptl);
1120
1121 /*
1122 * If we forced a TLB flush (either due to running out of
1123 * batch buffers or because we needed to flush dirty TLB
1124 * entries before releasing the ptl), free the batched
1125 * memory too. Restart if we didn't do everything.
1126 */
1127 if (force_flush) {
1128 force_flush = 0;
1129 tlb_flush_mmu(tlb);
1130 if (addr != end)
1131 goto again;
1132 }
1133
1134 return addr;
1135 }
1136
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 7193 bytes --]
next prev parent reply other threads:[~2019-10-04 18:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20191004133905eucas1p1f002c9e76ceaef205b48e941707af726@eucas1p1.samsung.com>
2019-10-04 13:38 ` [RFC 0/2] SRAMFS a direct mapped SRAM pages into user space Lukasz Luba
2019-10-04 13:38 ` [RFC 1/2] DT: ARM: exynos: change SRAM device node Lukasz Luba
2019-10-04 13:38 ` [RFC 2/2] dirvers & fs: add sram driver and sramfs Lukasz Luba
2019-10-04 18:58 ` kbuild test robot [this message]
2019-10-04 19:59 ` kbuild test robot
2019-10-05 20:31 ` [RFC PATCH] dirvers & fs: sramfs_file_ops can be static kbuild test robot
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=201910050217.S5macP5D%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.