Messages in this thread |  | | | Date | Tue, 15 May 2012 23:01:16 +0800 | | From | Alex Shi <> | | Subject | Re: [PATCH v5 6/7] x86/tlb: optimizing flush_tlb_mm |
| |
On 05/15/2012 10:57 PM, Peter Zijlstra wrote:
> On Tue, 2012-05-15 at 16:36 +0200, Peter Zijlstra wrote: >> On Tue, 2012-05-15 at 21:24 +0800, Alex Shi wrote: >> >>> Sorry. I don't understand what's the comments Peter's made days ago. I should ask for more details originally. >>> >>> So, Peter, the correct change should like following, am I right? >>> >>> -#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) >>> +#define tlb_flush(tlb, start, end) __flush_tlb_range((tlb)->mm, start, end) >> >> No.. the correct change is to do range tracking like the other archs >> that support flush_tlb_range() do. >> >> You do not modify the tlb interface. >> >> Again, see: http://marc.info/?l=linux-arch&m=129952026504268&w=2
this code is for multiple architecture, but x86 still need implement 'flush tlb range' with 'invlpg'.
> > Just to be _very_ clear, you do not modify: > > mm/memory.c | 9 ++-- > kernel/fork.c | 2 +- > fs/proc/task_mmu.c | 2 +- >
Thanks a lot. I see.
> As it stands your patch breaks compilation on a whole bunch of > architectures. > > If you touch the TLB interface, you get to touch _ALL_ architectures.
|  |