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:	Sat, 28 Feb 2009 19:27:59 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Arjan van de Ven <arjan@...radead.org>,
	Nick Piggin <nickpiggin@...oo.com.au>,
	Salman Qazi <sqazi@...gle.com>, davem@...emloft.net,
	linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...or.com>, Andi Kleen <andi@...stfloor.org>
Subject: Re: [patch] x86, mm: pass in 'total' to __copy_from_user_*nocache()


* Linus Torvalds <torvalds@...ux-foundation.org> wrote:

> On Sat, 28 Feb 2009, Arjan van de Ven wrote:
> > 
> > it invalidates all caches in the hierarchy
> 
> Yeah, now that I look at the intel pdf's, I see that.
> 
> > afaik this is what Intel cpus do; but I also thought this 
> > behavior was quite architectural as well...
> 
> Ok, I really think we should definitely not use non-temporal 
> stores for anything smaller than one full page in that case. 
> In fact, I wonder if even any of the old streaming benchmarks 
> are even true. I thought it would still stay in the L3, but 
> yes, it literally seems to make the access totally noncached 
> and WC.
> 
> That's almost unacceptable in the long run. With a 8MB L3 
> cache - and a compile sequence, do we really want to go out to 
> memory to write the .S file, and then have the assembler go 
> out to memory to read it back? For a compile, that _probably_ 
> is all fine (the compiler in particular will have enough data 
> structures around that it's not going to fit in the cache 
> anyway), but I'm seeing leaner compilers and other cases where 
> forcing things out all the way on the bus is simply the wrong 
> thing.

with the 'total' cutoff we could cut off at a higher place, say 
64K. But that would be rather arbitrary, not backed up by real 
numbers.

OTOH, given how draconian non-temporal stores are, i'm leaning 
towards removing them from the x86 code altogether. If it matter 
to performance somewhere it can be reintroduced, based on really 
well backed up numbers.

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