[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170929131329.tekd6a7yfrkm7lwl@hirez.programming.kicks-ass.net>
Date: Fri, 29 Sep 2017 15:13:29 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Vitaly Kuznetsov <vkuznets@...hat.com>
Cc: kernel test robot <xiaolong.ye@...el.com>,
Ingo Molnar <mingo@...nel.org>,
Juergen Gross <jgross@...e.com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Andrew Cooper <andrew.cooper3@...rix.com>,
Andy Lutomirski <luto@...capital.net>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Jork Loeser <Jork.Loeser@...rosoft.com>,
KY Srinivasan <kys@...rosoft.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
LKML <linux-kernel@...r.kernel.org>, lkp@...org
Subject: Re: [lkp-robot] [x86/mm] 9e52fc2b50: will-it-scale.per_thread_ops
-16% regression
On Fri, Sep 29, 2017 at 02:24:03PM +0200, Vitaly Kuznetsov wrote:
> 1) In case the system is under extreme memory pressure and
> __get_free_page() is failing in tlb_remove_table() we'll be doing
> smp_call_function() for _each_ call (avoiding batching). We may want to
> have a pre-allocated pool.
MMU_GATHER_BUNDLE should avoid it being for _every_ call.
Also, note that tlb_gather is preemptible, so pre-alloc is 'difficult'
and you will run out, esp. when memory is right.
> 2) The default MAX_TABLE_BATCH is static (it is equal to the number of
> pointer we can fit into one page - sizeof(struct mmu_table_batch) ==
> 509), we may want to adjust it for very big systems.
That would then put more stress on the memory allocator because you're
then asking for higher order pages.
Powered by blists - more mailing lists