Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1709666
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: ARC stuff (was Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending()) |
| Date | 2017-08-11 16:20 +0200 |
| Message-ID | <udiX8-4AP-33@gated-at.bofh.it> (permalink) |
| References | <ua0k2-RL-9@gated-at.bofh.it> <ua0k3-RL-37@gated-at.bofh.it> <ua1zs-1Rq-29@gated-at.bofh.it> <ua1J8-1UY-23@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Aug 02, 2017 at 03:17:10PM +0200, Peter Zijlstra wrote:
> On Wed, Aug 02, 2017 at 06:30:43PM +0530, Vineet Gupta wrote:
> > flush_tlb_range() does a bunch of aux register accesses, I need to check
> > with hw folks if those can be assumed to serializing w.r.t. memory ordering.
> > But if not then we need to add an explicit smb barrier (which will not be
> > paired ? )
>
> It would pair with the ACQUIRE from the PTL in the below example.
>
> > and would be penalizing the other callers of flush_tlb_range().
> > Will a new API for this be an overkill ? Is a memory barrier needed here
> > anyways - like ARM !
>
> It is needed at the very least if you do transparant huge pages as per
> the existing logic (this requirement isn't new per this patch, I was
> just the silly person wondering if flush_tlb_range() does indeed provide
> the ordering assumed).
Any word on this? It just got way worse and anything SMP needs to
provide this.
See commit:
0a2dd266dd6b ("mm: make tlb_flush_pending global")
And these semantics are now required for the correct operation of KSM
and MADV_{FREE,DONT_NEED}.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH -v2 0/4] Getting rid of smp_mb__before_spinlock Peter Zijlstra <peterz@infradead.org> - 2017-08-02 13:50 +0200
[PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Peter Zijlstra <peterz@infradead.org> - 2017-08-02 13:50 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Peter Zijlstra <peterz@infradead.org> - 2017-08-02 15:10 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Mel Gorman <mgorman@suse.de> - 2017-08-02 16:00 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Peter Zijlstra <peterz@infradead.org> - 2017-08-02 16:20 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Mel Gorman <mgorman@suse.de> - 2017-08-02 15:10 +0200
ARC stuff (was Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending()) Vineet Gupta <Vineet.Gupta1@synopsys.com> - 2017-08-02 15:10 +0200
Re: ARC stuff (was Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending()) Peter Zijlstra <peterz@infradead.org> - 2017-08-02 15:20 +0200
Re: ARC stuff (was Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending()) Peter Zijlstra <peterz@infradead.org> - 2017-08-11 16:20 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Will Deacon <will.deacon@arm.com> - 2017-08-03 17:30 +0200
Re: [PATCH -v2 1/4] mm: Rework {set,clear,mm}_tlb_flush_pending() Peter Zijlstra <peterz@infradead.org> - 2017-08-11 11:50 +0200
csiph-web