Messages in this thread | | | From | "Li, Shaohua" <> | Date | Tue, 19 Aug 2008 13:24:03 +0800 | Subject | RE: [patch]pageattr: cache flush before tlb flush |
| |
>-----Original Message----- >From: H. Peter Anvin [mailto:hpa@zytor.com] >Sent: Tuesday, August 19, 2008 1:10 PM >To: Li, Shaohua >Cc: lkml; Andrew Morton; Ingo Molnar; Pallipadi, Venkatesh >Subject: Re: [patch]pageattr: cache flush before tlb flush > >Shaohua Li wrote: >> clflush uses a virtual address but cache line is physical indexed in >> x86. In my understanding, clflush will do some pagetable walk, so doing >> cache flush first should reduce some pagetable walk. >> >> Signed-off-by: Shaohua Li <shaohua.li@intel.com> > >I would say NAK on this. > >Doing the CLFLUSH first does cut down on page table walking, but opens a >hole in the sequencing: first set PAT to an uncachable mode, then flush. > >If an unlucky prefetch comes in during this window, then you will have a >dirty cache again. > >So no, this is not a good idea. Ok, looks possible in theory.
Thanks, Shaohua
| |