From: kbuild test robot <lkp@intel.com>
To: Rik van Riel <riel@surriel.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, x86@kernel.org,
luto@kernel.org, dave.hansen@linux.intel.com, mingo@kernel.org,
kernel-team@fb.com, tglx@linutronix.de, efault@gmx.de,
songliubraving@fb.com, Rik van Riel <riel@surriel.com>
Subject: Re: [PATCH 2/6] x86,tlb: leave lazy TLB mode at page table free time
Date: Wed, 27 Jun 2018 14:03:45 +0800 [thread overview]
Message-ID: <201806271330.lxkV1VAZ%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180626173126.12296-3-riel@surriel.com>
[-- Attachment #1: Type: text/plain, Size: 3316 bytes --]
Hi Rik,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc2 next-20180626]
[cannot apply to tip/x86/core]
[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/Rik-van-Riel/mm-allocate-mm_cpumask-dynamically-based-on-nr_cpu_ids/20180627-021116
config: arm-keystone_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=arm
All errors (new ones prefixed by >>):
mm/memory.c: In function 'tlb_remove_table_smp_sync':
>> mm/memory.c:339:2: error: implicit declaration of function 'tlb_flush_remove_tables_local'; did you mean 'tlb_remove_table'? [-Werror=implicit-function-declaration]
tlb_flush_remove_tables_local(mm);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tlb_remove_table
mm/memory.c: In function 'tlb_table_flush':
>> mm/memory.c:372:2: error: implicit declaration of function 'tlb_flush_remove_tables'; did you mean 'tlb_remove_table'? [-Werror=implicit-function-declaration]
tlb_flush_remove_tables(tlb->mm);
^~~~~~~~~~~~~~~~~~~~~~~
tlb_remove_table
cc1: some warnings being treated as errors
vim +339 mm/memory.c
328
329 static void tlb_remove_table_smp_sync(void *arg)
330 {
331 struct mm_struct *mm = arg;
332 /*
333 * On most architectures this does nothing. Simply delivering the
334 * interrupt is enough to prevent races with software page table
335 * walking like that done in get_user_pages_fast.
336 *
337 * See the comment near struct mmu_table_batch.
338 */
> 339 tlb_flush_remove_tables_local(mm);
340 }
341
342 static void tlb_remove_table_one(void *table, struct mmu_gather *tlb)
343 {
344 /*
345 * This isn't an RCU grace period and hence the page-tables cannot be
346 * assumed to be actually RCU-freed.
347 *
348 * It is however sufficient for software page-table walkers that rely on
349 * IRQ disabling. See the comment near struct mmu_table_batch.
350 */
351 smp_call_function(tlb_remove_table_smp_sync, tlb->mm, 1);
352 __tlb_remove_table(table);
353 }
354
355 static void tlb_remove_table_rcu(struct rcu_head *head)
356 {
357 struct mmu_table_batch *batch;
358 int i;
359
360 batch = container_of(head, struct mmu_table_batch, rcu);
361
362 for (i = 0; i < batch->nr; i++)
363 __tlb_remove_table(batch->tables[i]);
364
365 free_page((unsigned long)batch);
366 }
367
368 void tlb_table_flush(struct mmu_gather *tlb)
369 {
370 struct mmu_table_batch **batch = &tlb->batch;
371
> 372 tlb_flush_remove_tables(tlb->mm);
373
374 if (*batch) {
375 call_rcu_sched(&(*batch)->rcu, tlb_remove_table_rcu);
376 *batch = NULL;
377 }
378 }
379
---
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: 21469 bytes --]
next prev parent reply other threads:[~2018-06-27 6:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-26 17:31 [PATCH v2 0/7] x86,tlb,mm: make lazy TLB mode even lazier Rik van Riel
2018-06-26 17:31 ` [PATCH 1/6] mm: allocate mm_cpumask dynamically based on nr_cpu_ids Rik van Riel
2018-06-26 17:31 ` [PATCH 2/6] x86,tlb: leave lazy TLB mode at page table free time Rik van Riel
2018-06-27 6:03 ` kbuild test robot [this message]
2018-06-26 17:31 ` [PATCH 3/6] x86,tlb: make lazy TLB mode lazier Rik van Riel
2018-06-27 18:10 ` Andy Lutomirski
2018-06-27 18:17 ` Rik van Riel
2018-06-28 20:05 ` Rik van Riel
2018-06-26 17:31 ` [PATCH 4/6] x86,tlb: only send page table free TLB flush to lazy TLB CPUs Rik van Riel
2018-06-26 20:16 ` [RFC PATCH] x86,tlb: mm_fill_lazy_tlb_cpu_mask() can be static kbuild test robot
2018-06-26 20:16 ` [PATCH 4/6] x86,tlb: only send page table free TLB flush to lazy TLB CPUs kbuild test robot
2018-06-26 17:31 ` [PATCH 5/6] x86,mm: always use lazy TLB mode Rik van Riel
2018-06-26 17:31 ` [PATCH 6/6] x86,switch_mm: skip atomic operations for init_mm Rik van Riel
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=201806271330.lxkV1VAZ%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=efault@gmx.de \
--cc=kbuild-all@01.org \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@kernel.org \
--cc=riel@surriel.com \
--cc=songliubraving@fb.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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.