lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48752C6E.2020709@goop.org>
Date:	Wed, 09 Jul 2008 14:23:58 -0700
From:	Jeremy Fitzhardinge <jeremy@...p.org>
To:	Ingo Molnar <mingo@...e.hu>
CC:	Mike Travis <travis@....com>, "H. Peter Anvin" <hpa@...or.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	Christoph Lameter <cl@...ux-foundation.org>,
	Jack Steiner <steiner@....com>, linux-kernel@...r.kernel.org
Subject: Re: [RFC 00/15] x86_64: Optimize percpu accesses

Ingo Molnar wrote:
> * Mike Travis <travis@....com> wrote:
>
>   
>>> This fragility makes me very nervous.  It seems hard enough to get 
>>> this stuff working with current tools; making it work over the whole 
>>> range of supported tools looks like its going to be hard.
>>>       
>> (me too ;-)
>>
>> Once I get a solid version working with (at least) gcc-4.2.4, then 
>> regression testing with older tools will be easier, or at least a 
>> table of results can be produced.
>>     
>
> the problem is, we cannot just put it even into tip/master if there's no 
> short-term hope of fixing a problem it triggers. gcc-4.2.3 is solid for 
> me otherwise, for series of thousands of randomly built kernels.
>
> can we just leave out the zero-based percpu stuff safely and could i 
> test the rest of your series - or are there dependencies? I think 
> zero-based percpu, while nice in theory, is probably just a very small 
> positive effect so it's not a life or death issue. (or is there any 
> deeper, semantic reason why we'd want it?)
>   

I'm looking forward to using it, because I can make the Xen vcpu 
structure a percpu variable shared with the hypervisor.  This means 
something like a disable interrupt becomes a simple "movb  
$1,%gs:per_cpu__xen_vcpu_event_mask".  If access to percpu variables is 
indirect (ie, two instructions) I need to disable preemption which makes 
the whole thing much more complex, and too big to inline.  There are 
other cases where preemption-safe access to percpu variables is useful 
as well.

My view, which is admittedly very one-sided, is that all this brokenness 
is forced on us by gcc's stack-protector brokenness.  My preferred 
approach would be to fix -fstack-protector by eliminating the 
requirement for small offsets from %gs.  With that in place we could 
support it without needing a pda.  In the meantime, we could either 
support stack-protector or direct access to percpu variables.  Either 
way, we don't need to worry about making zero-based percpu work.

    J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ