Re: Re-tune x86 uaccess code for PREEMPT_VOLUNTARY

From: Mike Galbraith
Date: Sun Aug 11 2013 - 00:18:18 EST


On Sat, 2013-08-10 at 09:09 -0700, H. Peter Anvin wrote:
> On 08/09/2013 10:55 PM, Mike Galbraith wrote:
> >>
> >> Now, here is a bigger question: shouldn't we be deprecating/getting rid
> >> of PREEMPT_VOUNTARY in favor of PREEMPT?
> >
> > I sure hope not, PREEMPT munches throughput. If you need PREEMPT, seems
> > to me what you _really_ need is PREEMPT_RT (the real deal), so
> > eventually depreciating PREEMPT makes more sense to me.
> >
>
> Do you have any quantification of "munches throughput?" It seems odd
> that it would be worse than polling for preempt all over the kernel, but
> perhaps the additional locking is what costs.

I hadn't compared in ages, so made some fresh samples.

Q6600 3.11-rc4

vmark
voluntary 169808 155826 154741 1.000
preempt 149354 124016 128436 .836

That should be ~worst case, it hates preemption.

tbench 8
voluntary 1027.96 1028.76 1044.60 1.000
preempt 929.06 935.01 928.64 .900

hackbench -l 10000
voluntary 23.146 23.124 23.230 1.000
preempt 25.065 24.633 24.789 1.071

kbuild vmlinux
voluntary 3m44.842s 3m42.975s 3m42.954s 1.000
preempt 3m46.141s 3m45.835s 3m45.953s 1.010

Compute load comparisons are boring 'course.

-Mike

--
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/