netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ravinandan Arakali" <ravinandan.arakali@neterion.com>
To: "'David S. Miller'" <davem@davemloft.net>
Cc: <jgarzik@pobox.com>, <netdev@oss.sgi.com>,
	<raghavendra.koushik@neterion.com>,
	<leonid.grossman@neterion.com>, <ananda.raju@neterion.com>,
	<rapuru.sriram@neterion.com>
Subject: RE: [PATCH 2.6.12-rc4] IPv4/IPv6: USO v2, Scatter-gather approach
Date: Thu, 21 Jul 2005 11:42:10 -0700	[thread overview]
Message-ID: <000c01c58e23$e81ea850$4810100a@pc.s2io.com> (raw)
In-Reply-To: <20050719.142320.52167011.davem@davemloft.net>

David,
We are working on your comments. Will get back to you before end of
next week.

Thanks,
Ravi

-----Original Message-----
From: David S. Miller [mailto:davem@davemloft.net]
Sent: Tuesday, July 19, 2005 2:23 PM
To: ravinandan.arakali@neterion.com
Cc: jgarzik@pobox.com; netdev@oss.sgi.com;
raghavendra.koushik@neterion.com; leonid.grossman@neterion.com;
ananda.raju@neterion.com; rapuru.sriram@neterion.com
Subject: Re: [PATCH 2.6.12-rc4] IPv4/IPv6: USO v2, Scatter-gather
approach


From: ravinandan.arakali@neterion.com
Date: Thu,  2 Jun 2005 17:41:06 -0700 (PDT)

> Attached below is version 2 of kernel patch for UDP Large send offload 
> feature. This patch uses the "Scatter-Gather" approach.
> It also incorporates David Miller's comments on the first version.

I've reviewed this patches, and I think there is a problem
with the sock_append_data() scheme.  You disallow the case
where there is an SKB on the write queue already.

This breaks NFS, and other things using MSG_MORE and UDP_CORK.
They do a two step packet building:

1) Send protocol headers, f.e. NFS

2) Send file contents via sendfile()

3) Uncork socket so packet gets emitted

and due to this check:

+	if (skb_queue_len(&sk->sk_write_queue)) {
+		*err = -EOPNOTSUPP;
+		return NULL;
+	}

you end up not supporting this correctly.

So we have two options, either add support for corked socket
handling to sock_append_data() or we go with the frag_list
patch which doesn't have this problem.

I prefer the frag_list patch from a cleanliness perspective,
however I remember you saying that the sock_append_data()
approach obtained better performance.  And that seems clear
since there will be less TX descriptors needed to send such
frames unless the driver does coalescing as it walks the
frag_list chain.

      reply	other threads:[~2005-07-21 18:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-03  0:41 [PATCH 2.6.12-rc4] IPv4/IPv6: USO v2, Scatter-gather approach ravinandan.arakali
2005-07-19 21:23 ` David S. Miller
2005-07-21 18:42   ` Ravinandan Arakali [this message]

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='000c01c58e23$e81ea850$4810100a@pc.s2io.com' \
    --to=ravinandan.arakali@neterion.com \
    --cc=ananda.raju@neterion.com \
    --cc=davem@davemloft.net \
    --cc=jgarzik@pobox.com \
    --cc=leonid.grossman@neterion.com \
    --cc=netdev@oss.sgi.com \
    --cc=raghavendra.koushik@neterion.com \
    --cc=rapuru.sriram@neterion.com \
    /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).