netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6 patch] unexport softnet_data
@ 2007-10-24 16:24 Adrian Bunk
  2007-10-26 11:19 ` David Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2007-10-24 16:24 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

The EXPORT_PER_CPU_SYMBOL(softnet_data) is no longer used.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
6bf19ad197b0076e48be8720659d38413d438e26 
diff --git a/net/core/dev.c b/net/core/dev.c
index 38b03da..113d216 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4469,4 +4469,3 @@ EXPORT_SYMBOL(br_fdb_put_hook);
 EXPORT_SYMBOL(dev_load);
 #endif
 
-EXPORT_PER_CPU_SYMBOL(softnet_data);


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [2.6 patch] unexport softnet_data
  2007-10-24 16:24 [2.6 patch] unexport softnet_data Adrian Bunk
@ 2007-10-26 11:19 ` David Miller
  2007-10-26 15:38   ` Nelson, Shannon
  0 siblings, 1 reply; 5+ messages in thread
From: David Miller @ 2007-10-26 11:19 UTC (permalink / raw)
  To: bunk; +Cc: shemminger, netdev, christopher.leech, shannon.nelson,
	dan.j.williams

From: Adrian Bunk <bunk@kernel.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@kernel.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@davemloft.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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [2.6 patch] unexport softnet_data
  2007-10-26 11:19 ` David Miller
@ 2007-10-26 15:38   ` Nelson, Shannon
  2007-11-07  7:41     ` David Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Nelson, Shannon @ 2007-10-26 15:38 UTC (permalink / raw)
  To: David Miller, bunk
  Cc: shemminger, netdev, Leech, Christopher, Williams, Dan J

>-----Original Message-----
>From: David Miller [mailto:davem@davemloft.net] 
>
>From: Adrian Bunk <bunk@kernel.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@kernel.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@davemloft.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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [2.6 patch] unexport softnet_data
  2007-10-26 15:38   ` Nelson, Shannon
@ 2007-11-07  7:41     ` David Miller
  2007-11-07 15:01       ` Nelson, Shannon
  0 siblings, 1 reply; 5+ messages in thread
From: David Miller @ 2007-11-07  7:41 UTC (permalink / raw)
  To: shannon.nelson
  Cc: bunk, shemminger, netdev, christopher.leech, dan.j.williams

From: "Nelson, Shannon" <shannon.nelson@intel.com>
Date: Fri, 26 Oct 2007 08:38:55 -0700

> There is no creation of a pinned_list yet in this path, so I don't think
> this would do us much good.

The pinned list is created in the generic net/ipv4/tcp.c code, not in
the address family specific code.

So your comments do not apply as a reason for this patch to not go in.
My patch has been in Linus's tree for weeks, and until you show me a
real reason why the check shouldn't be there in the ipv6 path, it's
staying.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [2.6 patch] unexport softnet_data
  2007-11-07  7:41     ` David Miller
@ 2007-11-07 15:01       ` Nelson, Shannon
  0 siblings, 0 replies; 5+ messages in thread
From: Nelson, Shannon @ 2007-11-07 15:01 UTC (permalink / raw)
  To: David Miller
  Cc: bunk, shemminger, netdev, Leech, Christopher, Williams, Dan J

>From: David Miller [mailto:davem@davemloft.net] 
>Sent: Tuesday, November 06, 2007 11:41 PM
>
>From: "Nelson, Shannon" <shannon.nelson@intel.com>
>Date: Fri, 26 Oct 2007 08:38:55 -0700
>
>> There is no creation of a pinned_list yet in this path, so I 
>don't think
>> this would do us much good.
>
>The pinned list is created in the generic net/ipv4/tcp.c code, not in
>the address family specific code.
>
>So your comments do not apply as a reason for this patch to not go in.
>My patch has been in Linus's tree for weeks, and until you show me a
>real reason why the check shouldn't be there in the ipv6 path, it's
>staying.

Understood.

Thanks,
sln

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-11-07 15:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-24 16:24 [2.6 patch] unexport softnet_data Adrian Bunk
2007-10-26 11:19 ` David Miller
2007-10-26 15:38   ` Nelson, Shannon
2007-11-07  7:41     ` David Miller
2007-11-07 15:01       ` Nelson, Shannon

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).