[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BAE9DCEF64577A439B3A37F36F9B691C034CC519@orsmsx418.amr.corp.intel.com>
Date: Fri, 26 Oct 2007 08:38:55 -0700
From: "Nelson, Shannon" <shannon.nelson@...el.com>
To: "David Miller" <davem@...emloft.net>, <bunk@...nel.org>
Cc: <shemminger@...ux-foundation.org>, <netdev@...r.kernel.org>,
"Leech, Christopher" <christopher.leech@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>
Subject: RE: [2.6 patch] unexport softnet_data
>-----Original Message-----
>From: David Miller [mailto:davem@...emloft.net]
>
>From: Adrian Bunk <bunk@...nel.org>
>Date: Wed, 24 Oct 2007 18:24:25 +0200
>
>> The EXPORT_PER_CPU_SYMBOL(softnet_data) is no longer used.
>>
>> Signed-off-by: Adrian Bunk <bunk@...nel.org>
>
>I wanted to apply this, but in validing the patch I noticed
>what appears to be an omission in TCP ipv6.
>
>It seems that NET_DMA support there is only half-cooked and
>the following patch is needed (and thus there is a modular
>use of softnet_data again).
>
>Looking at Christopher Leech's original TCP I/O AT commit:
>
>1a2449a87bb7606113b1aa1a9d3c3e78ef189a1c
>
>this appears to just be an oversight.
>
>If one of the current I/O AT folks can look this over and
>confirm I'd appreciate it.
>
>Thanks!
>
>[TCP]: Add missing I/O AT code to ipv6 side.
>
>Signed-off-by: David S. Miller <davem@...emloft.net>
>
>diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
>index 32dc329..06fa4ba 100644
>--- a/net/ipv6/tcp_ipv6.c
>+++ b/net/ipv6/tcp_ipv6.c
>@@ -1732,6 +1732,8 @@ process:
> if (!sock_owned_by_user(sk)) {
> #ifdef CONFIG_NET_DMA
> struct tcp_sock *tp = tcp_sk(sk);
>+ if (!tp->ucopy.dma_chan && tp->ucopy.pinned_list)
>+ tp->ucopy.dma_chan = get_softnet_dma();
> if (tp->ucopy.dma_chan)
> ret = tcp_v6_do_rcv(sk, skb);
> else
>
There is no creation of a pinned_list yet in this path, so I don't think
this would do us much good. Anyway, I believe the next bit is simply
checking to see if we can process it right away (if we have a dma
channel or a reader task is waiting) otherwise stick it into backlog.
Once we go to process it, if it is an IP packet we'll drop into the ipv4
processing code and end up in tcp_recv() which can create the
pinned_list and process from there.
I'm sure someone will correct me if I'm wrong, but I believe this bit it
not needed. I suggest a NAK for this patch.
sln
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists