Re: [patch] faster vgetcpu using sidt
From: dean gaudet
Date: Mon Jan 08 2007 - 19:26:26 EST
On Sat, 6 Jan 2007, dean gaudet wrote:
> below is a patch which improves vgetcpu latency on all x86_64
> implementations i've tested.
>
> Nathan Laredo pointed out the sgdt/sidt/sldt instructions are
> userland-accessible and we could use their limit fields to tuck away a few
> bits of per-cpu information.
...
i got a hold of a p4 (model 4) and ran the timings there:
baseline patched
no cache cache
k8 pre-revF 21 14 16
k8 revF 31 14 17
core2 38 12 17
p4 49 24 37
not as good as i hoped... i'll have to put the cache back in just for the
p4... so i'll respin my patch with the cache back in place.
another thought occured to me -- 64-bit processes can't actually use their
LDT can they? in that case i could probably use sldt (faster than sidt)
for 64-bit procs and fallback to sidt for 32-bit emulation (which doesn't
exist for this vsyscall yet anyhow).
let me know if you have any other feedback.
thanks
-dean
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/