Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1602792

Re: [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast() implementation

From "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject Re: [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast() implementation
Date 2017-03-16 20:20 +0100
Message-ID <tlJ6h-2QJ-17@gated-at.bofh.it> (permalink)
References <tlFvH-gv-3@gated-at.bofh.it> <tlFvJ-gv-59@gated-at.bofh.it> <tlHnQ-1ze-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Mar 16, 2017 at 06:20:46PM +0100, Peter Zijlstra wrote:
> On Thu, Mar 16, 2017 at 06:26:55PM +0300, Kirill A. Shutemov wrote:
> > +config HAVE_GENERIC_RCU_GUP
> > +	def_bool y
> > +
> 
> Nothing immediately jumped out to me; except that this option might be
> misnamed.
> 
> AFAICT that code does not in fact rely on HAVE_RCU_TABLE_FREE; it will
> happily work with the (x86) broadcast IPI invalidate model, as you show
> here.
> 
> Architectures that do not do that obviously need HAVE_RCU_TABLE_FREE,
> but that is not the point I feel.
> 
> Also, this code hard relies on IRQ-disable delaying grace periods, which
> is mostly true I think, but has always been something Paul didn't really
> want to commit too firmly to.

That is quite true!

The only case where IRQ-disable is guaranteed to delay grace periods is
when you are using RCU-sched, in other words synchronize_sched() and
call_rcu_sched().  And even then, the CPU cannot be in the idle loop,
cannot be offline, and cannot be a nohz_full CPU on its way to/from
userspace execution.

							Thanx, Paul

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] Switch x86 to generic get_user_pages_fast() implementation "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 16:30 +0100
  [PATCH 3/7] mm/gup: Move page table entry dereference into helper "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 16:30 +0100
    [tip:x86/mm] mm/gup: Move page table entry dereference into helper  function "tip-bot for Kirill A. Shutemov" <tipbot@zytor.com> - 2017-03-18 11:00 +0100
  [PATCH 4/7] mm/gup: Make pages referenced during generic get_user_pages_fast() "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 16:30 +0100
    [tip:x86/mm] mm/gup: Mark all pages PageReferenced in generic  get_user_pages_fast() "tip-bot for Kirill A. Shutemov" <tipbot@zytor.com> - 2017-03-18 11:00 +0100
  [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast() implementation "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 16:30 +0100
    Re: [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast()  implementation Peter Zijlstra <peterz@infradead.org> - 2017-03-16 18:30 +0100
      Re: [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast()  implementation "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-03-16 20:20 +0100
    [PATCHv2 7/7] x86/mm: Switch to generic get_user_page_fast() implementation "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 22:40 +0100
      Re: [PATCHv2 7/7] x86/mm: Switch to generic get_user_page_fast()  implementation "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-17 18:40 +0100
      [tip:x86/mm] x86/mm/gup: Switch GUP to the generic  get_user_page_fast() implementation "tip-bot for Kirill A. Shutemov" <tipbot@zytor.com> - 2017-03-18 12:50 +0100
  [PATCH 1/7] mm: Drop arch_pte_access_permitted() mmu hook "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-16 16:40 +0100
    [tip:x86/mm] mm/gup: Drop the arch_pte_access_permitted() MMU  callback "tip-bot for Kirill A. Shutemov" <tipbot@zytor.com> - 2017-03-18 11:00 +0100
  Re: [PATCH 0/7] Switch x86 to generic get_user_pages_fast() implementation Linus Torvalds <torvalds@linux-foundation.org> - 2017-03-16 19:10 +0100
  Re: [PATCH 0/7] Switch x86 to generic get_user_pages_fast()  implementation Ingo Molnar <mingo@kernel.org> - 2017-03-17 09:40 +0100

csiph-web