Messages in this thread | | | From | David Mosberger <> | Date | Tue, 15 Jul 2003 23:32:48 -0700 | Subject | Re: [patch] e1000 TSO parameter |
| |
>>>>> On Tue, 15 Jul 2003 18:39:11 -0700, "David S. Miller" <davem@redhat.com> said:
>> We could, but would it always be a win? Especially for >> copy_from_user(). Most of the time, that data remains cached, so >> I don't think we'd want to use non-temporal stores on those (in >> general). csum_and_copy_from_user() isn't well optimized yet. >> Let's see if I can find a volunteer... ;-)
DaveM> No, I mean "bypass L2 cache on miss" for stores. Don't tell DaveM> me IA64 doesn't have that? 8) I certainly didn't mean "always DaveM> bypass L2 cache" for stores :-)
What I'm saying is that I almost always want copy_user() to put the destination data in the cache, even if it isn't cached yet. Many copy_user() calls are for for data structures that easily fit in the cache and the data is usually used quickly afterwards.
As for cache-hints supported by IA64: the architecture supports various non-temporal hints (non-temporal in 1st, 2nd, or all cache-levels). How these hints are implemented depends on the chip. On McKinley, non-temporal hints are generally implemented by storing the data in the cache without updating the LRU info. So if the data is already there, it will stay cached (until a victim is needed).
--david - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |