All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.