<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/netpoll.h, branch linux-2.6.22.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.22.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.22.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2006-12-05T19:36:26+00:00</updated>
<entry>
<title>WorkQueue: Fix up arch-specific work items where possible</title>
<updated>2006-12-05T19:36:26+00:00</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2006-12-05T19:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6d5aefb8eaa38e44b5b8cf60c812aceafc02d924'/>
<id>urn:sha1:6d5aefb8eaa38e44b5b8cf60c812aceafc02d924</id>
<content type='text'>
Fix up arch-specific work items where possible to use the new work_struct and
delayed_work structs.

Three places that enqueue bits of their stack and then return have been marked
with #error as this is not permitted.

Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
</content>
</entry>
<entry>
<title>netpoll header cleanup</title>
<updated>2006-12-03T05:22:38+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@osdl.org</email>
</author>
<published>2006-10-26T22:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bf6bce71eae386dbc37f93af7e5ad173450d9945'/>
<id>urn:sha1:bf6bce71eae386dbc37f93af7e5ad173450d9945</id>
<content type='text'>
As Steve left netpoll beast, hopefully not to return soon.
He noticed that the header was messy. He straightened it
up and polished it a little, then waved goodbye.

Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;
</content>
</entry>
<entry>
<title>netpoll queue cleanup</title>
<updated>2006-12-03T05:22:37+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@osdl.org</email>
</author>
<published>2006-10-26T22:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5de4a473bda49554e4e9bd93b78f43c49a7ea69c'/>
<id>urn:sha1:5de4a473bda49554e4e9bd93b78f43c49a7ea69c</id>
<content type='text'>
The beast had a long and not very happy history. At one
point, a friend (netdump) had asked that he open up a little.
Well, the friend was long gone now, and the beast had
this dangling piece hanging (netpoll_queue).

It wasn't hard to stitch the netpoll_queue back in
where it belonged and make everything tidy.

Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;
</content>
</entry>
<entry>
<title>netpoll retry cleanup</title>
<updated>2006-12-03T05:22:36+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@osdl.org</email>
</author>
<published>2006-10-26T22:46:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2bdfe0baeca0e2750037b8fba71905c00ac3c515'/>
<id>urn:sha1:2bdfe0baeca0e2750037b8fba71905c00ac3c515</id>
<content type='text'>
The netpoll beast was still not happy. If the beast got
clogged pipes, it tended to stare blankly off in space
for a long time.

The problem couldn't be completely fixed because the
beast talked with irq's disabled. But it could be made
less painful and shorter.

Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;
</content>
</entry>
<entry>
<title>netpoll per device txq</title>
<updated>2006-12-03T05:22:33+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@osdl.org</email>
</author>
<published>2006-10-26T22:46:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af'/>
<id>urn:sha1:b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af</id>
<content type='text'>
When the netpoll beast got really busy, it tended to clog
things, so it stored them for later. But the beast was putting
all it's skb's in one basket. This was bad because maybe some
pipes were clogged and others were not.

Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;
</content>
</entry>
<entry>
<title>netpoll info leak</title>
<updated>2006-12-03T05:22:32+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@osdl.org</email>
</author>
<published>2006-10-26T22:46:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=93ec2c723e3f8a216dde2899aeb85c648672bc6b'/>
<id>urn:sha1:93ec2c723e3f8a216dde2899aeb85c648672bc6b</id>
<content type='text'>
After looking harder, Steve noticed that the netpoll
beast leaked a little every time it shutdown for a nap.
Not a big leak, but a nuisance kind of thing.

He took out his refcount duct tape and patched the
leak. It was overkill since there was already other
locking in that area, but it looked clean and wouldn't
attract fleas.

Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;
</content>
</entry>
<entry>
<title>[NET] netpoll: break recursive loop in netpoll rx path</title>
<updated>2006-06-26T07:04:27+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2006-06-26T07:04:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=068c6e98bc7ec4419299b38cd40be26ebf4bdeda'/>
<id>urn:sha1:068c6e98bc7ec4419299b38cd40be26ebf4bdeda</id>
<content type='text'>
The netpoll system currently has a rx to tx path via:

netpoll_rx
 __netpoll_rx
  arp_reply
   netpoll_send_skb
    dev-&gt;hard_start_tx

This rx-&gt;tx loop places network drivers at risk of inadvertently causing a
deadlock or BUG halt by recursively trying to acquire a spinlock that is
used in both their rx and tx paths (this problem was origionally reported
to me in the 3c59x driver, which shares a spinlock between the
boomerang_interrupt and boomerang_start_xmit routines).

This patch breaks this loop, by queueing arp frames, so that they can be
responded to after all receive operations have been completed.  Tested by
myself and the reported with successful results.

Specifically it was tested with netdump.  Heres the BZ with details:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=194055

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Acked-by: Matt Mackall &lt;mpm@selenic.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETPOLL]: wrong return for null netpoll_poll_lock()</title>
<updated>2005-10-12T22:12:21+00:00</updated>
<author>
<name>Ben Dooks</name>
<email>ben-linux@fluff.org</email>
</author>
<published>2005-10-12T22:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=afb997c6163b33292d31a09d6aa5cbb03ffa5bf1'/>
<id>urn:sha1:afb997c6163b33292d31a09d6aa5cbb03ffa5bf1</id>
<content type='text'>
When netpoll is not being used, the macro that
defines the removed routing netpoll_poll_lock
defines the return as zero, but the real
routine returns a `void *`

Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETPOLL]: fix initialization/NAPI race</title>
<updated>2005-08-12T02:27:43+00:00</updated>
<author>
<name>Matt Mackall</name>
<email>mpm@selenic.com</email>
</author>
<published>2005-08-12T02:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=53fb95d3c14290fd6ee808b221e35493f096246f'/>
<id>urn:sha1:53fb95d3c14290fd6ee808b221e35493f096246f</id>
<content type='text'>
This fixes a race during initialization with the NAPI softirq
processing by using an RCU approach.

This race was discovered when refill_skbs() was added to
the setup code.

Signed-off-by: Matt Mackall &lt;mpm@selenic.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETPOLL]: add retry timeout</title>
<updated>2005-08-12T02:25:54+00:00</updated>
<author>
<name>Matt Mackall</name>
<email>mpm@selenic.com</email>
</author>
<published>2005-08-12T02:25:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0db1d6fc1ea051af49ebe03c503d23996a7c5bbb'/>
<id>urn:sha1:0db1d6fc1ea051af49ebe03c503d23996a7c5bbb</id>
<content type='text'>
Add limited retry logic to netpoll_send_skb

Each time we attempt to send, decrement our per-device retry counter.
On every successful send, we reset the counter. 

We delay 50us between attempts with up to 20000 retries for a total of
1 second. After we've exhausted our retries, subsequent failed
attempts will try only once until reset by success.

Signed-off-by: Matt Mackall &lt;mpm@selenic.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
