linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Andrew Morton <akpm@digeo.com>
Cc: Andi Kleen <ak@suse.de>, Hirokazu Takahashi <taka@valinux.co.jp>,
	alan@lxorguk.ukuu.org.uk, davem@redhat.com,
	neilb@cse.unsw.edu.au, linux-kernel@vger.kernel.org,
	nfs@lists.sourceforge.net
Subject: Re: [NFS] Re: [PATCH] zerocopy NFS for 2.5.36
Date: Fri, 20 Sep 2002 03:23:46 +0200	[thread overview]
Message-ID: <20020920032346.A22949@wotan.suse.de> (raw)
In-Reply-To: <3D8A754E.5BA2E28D@digeo.com>

On Thu, Sep 19, 2002 at 06:09:34PM -0700, Andrew Morton wrote:
> > Very interesting IMHO would be to find a heuristic to switch between
> > a write combining copy and a cache hot copy. Write combining is good
> > for blasting huge amounts of data quickly without killing your caches.
> > Cache hot is good for everything else.
> 
> I expect that caching userspace and not pagecache would be
> a reasonable choice.

Normally yes, but not always. e.g. for squid you don't really want to 
cache user space.

But I guess it would be a reasonable heuristic. Or at least worth a try :-)

> 
> > But it'll need hints from the higher level code. e.g. read and write
> > could turn on write combining for bigger writes (let's say >8K)
> > I discovered that just unconditionally turning it on for all copies
> > is not good because it forces data out of cache. But I still have hope
> > that it helps for selected copies.
> 
> Well if it's a really big read then bypassing the CPU cache on
> the userspace-side buffer would make sense.
> 
> Can you control the cachability of the memory reads as well?

SSE2 has hints for that (prefetchnti and even prefetcht0,1 etc. for different
cache hierarchies), but it's not completely clear on how much
the CPUs follow these. 

For writing it's much more obvious and usually documented even.

> 
> What restrictions are there on these instructions?  Would
> they force us to bear the cost of the aligment problem?

They should be aligned, otherwise it makes no sense. When you assume it's
more likely that one target or destination are unaligned then you can easily
align either target or destination. Trick is to chose the right one,
it varies on the call site.
(these are for big copies so a small alignment function is lost in the noise)

x86-64 copy_*_user currently aligns the destination, but hardcoding that
is a bit dumb and I'm not completely happy with it.


-Andi

  reply	other threads:[~2002-09-20  1:18 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3D89176B.40FFD09B@digeo.com.suse.lists.linux.kernel>
     [not found] ` <20020919.221513.28808421.taka@valinux.co.jp.suse.lists.linux.kernel>
     [not found]   ` <3D8A36A5.846D806@digeo.com.suse.lists.linux.kernel>
2002-09-20  1:00     ` [NFS] Re: [PATCH] zerocopy NFS for 2.5.36 Andi Kleen
2002-09-20  1:09       ` Andrew Morton
2002-09-20  1:23         ` Andi Kleen [this message]
2002-09-20  1:27           ` David S. Miller
2002-09-20  2:06             ` Andi Kleen
2002-09-20  2:01               ` David S. Miller
2002-09-20  2:28                 ` Andi Kleen
2002-09-20  2:20                   ` David S. Miller
2002-09-20  2:35                     ` Andi Kleen
2002-10-16 14:04 Lever, Charles
  -- strict thread matches above, loose matches on Subject: below --
2002-10-14  5:50 Neil Brown
2002-10-14 12:01 ` Hirokazu Takahashi
2002-10-16  3:44   ` Neil Brown
2002-10-16  4:31     ` David S. Miller
2002-10-17  2:03       ` [NFS] " Andrew Theurer
2002-10-17  2:31         ` Hirokazu Takahashi
2002-10-17 13:16           ` Andrew Theurer
2002-10-17 13:26             ` Hirokazu Takahashi
2002-10-17 14:10               ` Andrew Theurer
2002-10-17 16:26                 ` Hirokazu Takahashi
2002-10-18  5:38                   ` Trond Myklebust
2002-10-18  7:19                     ` Hirokazu Takahashi
2002-10-18 15:12                       ` Andrew Theurer
2002-10-19 20:34                         ` Hirokazu Takahashi
2002-10-22 21:16                           ` Andrew Theurer
2002-10-23  9:29                             ` Hirokazu Takahashi
2002-10-24 15:32                               ` Andrew Theurer
2002-09-19  2:00 Lever, Charles
2002-09-18 23:00 David S. Miller
2002-09-18 23:54 ` Alan Cox
2002-09-19  0:16   ` Andrew Morton
2002-09-19 13:15     ` [NFS] " Hirokazu Takahashi
2002-09-19 20:42       ` Andrew Morton
2002-09-19 21:12         ` David S. Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020920032346.A22949@wotan.suse.de \
    --to=ak@suse.de \
    --cc=akpm@digeo.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@cse.unsw.edu.au \
    --cc=nfs@lists.sourceforge.net \
    --cc=taka@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).