linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Miller <davem@davemloft.net>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"eric.dumazet@gmail.com" <eric.dumazet@gmail.com>,
	"kuznet@ms2.inr.ac.ru" <kuznet@ms2.inr.ac.ru>,
	"pekkas@netcore.fi" <pekkas@netcore.fi>,
	"jmorris@namei.org" <jmorris@namei.org>,
	"yoshfuji@linux-ipv6.org" <yoshfuji@linux-ipv6.org>,
	"kaber@trash.net" <kaber@trash.net>,
	"Trond.Myklebust@netapp.com" <Trond.Myklebust@netapp.com>,
	"gregkh@suse.de" <gregkh@suse.de>,
	"drbd-user@lists.linbit.com" <drbd-user@lists.linbit.com>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	"cluster-devel@redhat.com" <cluster-devel@redhat.com>,
	"ocfs2-devel@oss.oracle.com" <ocfs2-devel@oss.oracle.com>,
	"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>,
	"rds-devel@oss.oracle.com" <rds-devel@oss.oracle.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH 5/6] net: add paged frag destructor support to kernel_sendpage.
Date: Thu, 5 Jan 2012 20:04:34 +0000	[thread overview]
Message-ID: <1325793874.29084.25.camel@dagon.hellion.org.uk> (raw)
In-Reply-To: <20120105.141522.1303730212186060591.davem@davemloft.net>

On Thu, 2012-01-05 at 19:15 +0000, David Miller wrote:
> From: Ian Campbell <ian.campbell@citrix.com>
> Date: Thu, 5 Jan 2012 17:13:43 +0000
> 
> > -static ssize_t do_tcp_sendpages(struct sock *sk, struct page **pages, int poffset,
> > +static ssize_t do_tcp_sendpages(struct sock *sk,
> > +				struct page **pages,
> > +				struct skb_frag_destructor **destructors,
> > +				int poffset,
> >  			 size_t psize, int flags)
> >  {
> >  	struct tcp_sock *tp = tcp_sk(sk);
> 
> An array of destructors is madness, and the one call site that specifies this
> passes an address of a single entry.

I figured it was easy enough to accommodate the multiple destructor case
but you are right that is overkill given the current (and realistically,
expected) usage, I'll change that for the next round.

(that's assuming we don't end up with some scheme where the struct page
* is in the destructor struct like I was investigating previously to
alleviate the frag size overhead. I guess this illustrates nicely why
that approach got ugly: these array propagate all the way up the call
chain if you do that)

> This also would never even have to occur if you put the destructor inside of
> struct page instead.
> 
> Finally, except for the skb_shared_info() layout optimization in patch #1 which
> I alreayd applied, this stuff is not baked enough for the 3.3 merge window.

Sure thing, I should have made it clear in my intro mail that I was
aiming for 3.4.

Thanks,
Ian


  reply	other threads:[~2012-01-05 20:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1325783399.25206.413.camel@zakaz.uk.xensource.com>
2012-01-05 17:13 ` [PATCH 5/6] net: add paged frag destructor support to kernel_sendpage Ian Campbell
2012-01-05 19:15   ` David Miller
2012-01-05 20:04     ` Ian Campbell [this message]
2012-01-05 17:13 ` [PATCH 6/6] sunrpc: use SKB fragment destructors to delay completion until page is released by network stack Ian Campbell

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=1325793874.29084.25.camel@dagon.hellion.org.uk \
    --to=ian.campbell@citrix.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=cluster-devel@redhat.com \
    --cc=davem@davemloft.net \
    --cc=devel@driverdev.osuosl.org \
    --cc=drbd-user@lists.linbit.com \
    --cc=eric.dumazet@gmail.com \
    --cc=gregkh@suse.de \
    --cc=jmorris@namei.org \
    --cc=kaber@trash.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-nfs@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=pekkas@netcore.fi \
    --cc=rds-devel@oss.oracle.com \
    --cc=yoshfuji@linux-ipv6.org \
    /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).