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]
Date:	Tue, 13 Oct 2009 23:56:10 +0900
From:	Tejun Heo <tj@...nel.org>
To:	Christoph Lameter <cl@...ux-foundation.org>
CC:	linux-kernel@...r.kernel.org,
	Pekka Enberg <penberg@...helsinki.fi>,
	Mel Gorman <mel@....ul.ie>,
	Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
Subject: Re: [this_cpu_xx V6 3/7] Use this_cpu operations in slub

Christoph Lameter wrote:
> On Tue, 13 Oct 2009, Tejun Heo wrote:
> 
>> The only difference between this_cpu_ptr() and __this_cpu_ptr() is the
>> usage of my_cpu_offset and __my_cpu_offset which in turn are only
>> different in whether they check preemption status to make sure the cpu
>> is pinned down when called.
> 
> Correct.
> 
>> The only places where the underbar prefixed versions should be used
>> are places where cpu locality is nice but not critical and preemption
>> debug check wouldn't work properly for whatever reason.  The above is
>> none of the two and the conversion is buried in a patch which is
>> supposed to do something else.  Am I missing something?
> 
> I used __this_cpu_* whenever the context is already providing enough
> safety that preempt disable or irq disable would not matter. The use of
> __this_cpu_ptr was entirely for consistent usage here. this_cpu_ptr would
> be safer because it has additional checks that preemption really is
> disabled. So if someone gets confused about logic flow later it can be
> dtected.

Yeah, widespread use of underscored versions isn't very desirable.
The underscored versions should notify certain specific exceptional
conditions instead of being used as general optimization (which
doesn't make much sense after all as the optimization is only
meaningful with debug option turned on).  Are you interested in doing
a sweeping patch to drop underscores from __this_cpu_*() conversions?

Thanks.

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