Messages in this thread | | | Date | Thu, 03 May 2012 17:15:19 +0800 | From | Alex Shi <> | Subject | Re: [PATCH 2/3] x86/flush_tlb: try flush_tlb_single one by one in flush_tlb_range |
| |
On 05/02/2012 09:44 PM, Borislav Petkov wrote:
> On Wed, May 02, 2012 at 07:38:47PM +0800, Alex Shi wrote: >>> Are you saying you want to have this setting per family? >> >> Set it according to CPU type is more precise, but looks ugly. > > By "CPU type" do you mean microarchitecture here?
Yes.
> >> I am wondering if it worth to do. Maybe conservative selection is >> acceptable? > > Well, as I said earlier, I'd run it on a couple of different machines > and make FLUSHALL_BAR configurable from userspace - this way you have > real, solid data instead of guessing the exact number.
Consider different CPU type has different balance point, I has another patch will add a interface for tuning.
> >>> Also, have you run your patches with other benchmarks beside your >>> microbenchmark, say kernbench, SPEC<something>, i.e. some other >>> multithreaded benchmark touching shared memory? Are you seeing any >>> improvement there? >> >> I tested oltp reading and specjbb2005 with openjdk. They should not much >> flush_tlb_range calling. So, no clear improvement. >> Do you know benchmarks which cause enough flush_tlb_range? > > Not really. Probably get a couple of benchmarks and count > flush_tlb_range calls with trace_printk or perf probe? :-)
perf probe is enough. :)
| |