<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/core/netpoll.c, branch v3.8.3</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>net: remove obsolete simple_strto&lt;foo&gt;</title>
<updated>2012-12-11T17:49:53+00:00</updated>
<author>
<name>Abhijit Pawar</name>
<email>abhi.c.pawar@gmail.com</email>
</author>
<published>2012-12-10T19:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a71258d79e3d05632e90c9f7db5ccf929d276529'/>
<id>a71258d79e3d05632e90c9f7db5ccf929d276529</id>
<content type='text'>
This patch removes the redundant occurences of simple_strto&lt;foo&gt;

Signed-off-by: Abhijit Pawar &lt;abhi.c.pawar@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch removes the redundant occurences of simple_strto&lt;foo&gt;

Signed-off-by: Abhijit Pawar &lt;abhi.c.pawar@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: remove obsolete simple_strto&lt;foo&gt;</title>
<updated>2012-12-10T19:09:00+00:00</updated>
<author>
<name>Abhijit Pawar</name>
<email>abhi.c.pawar@gmail.com</email>
</author>
<published>2012-12-09T23:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4b5511ebc7e1cf94e4f13be19c2cf3e90edc3395'/>
<id>4b5511ebc7e1cf94e4f13be19c2cf3e90edc3395</id>
<content type='text'>
This patch replace the obsolete simple_strto&lt;foo&gt; with kstrto&lt;foo&gt;

Signed-off-by: Abhijit Pawar &lt;abhi.c.pawar@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch replace the obsolete simple_strto&lt;foo&gt; with kstrto&lt;foo&gt;

Signed-off-by: Abhijit Pawar &lt;abhi.c.pawar@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: call -&gt;ndo_select_queue() in tx path</title>
<updated>2012-09-19T21:19:09+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-09-17T20:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8c4c49df5cfeb8d56e5b85a430c8cbcb86c2ac37'/>
<id>8c4c49df5cfeb8d56e5b85a430c8cbcb86c2ac37</id>
<content type='text'>
In netpoll tx path, we miss the chance of calling -&gt;ndo_select_queue(),
thus could cause problems when bonding is involved.

This patch makes dev_pick_tx() extern (and rename it to netdev_pick_tx())
to let netpoll call it in netpoll_send_skb_on_dev().

Reported-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In netpoll tx path, we miss the chance of calling -&gt;ndo_select_queue(),
thus could cause problems when bonding is involved.

This patch makes dev_pick_tx() extern (and rename it to netdev_pick_tx())
to let netpoll call it in netpoll_send_skb_on_dev().

Reported-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2012-08-31T19:14:18+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-08-31T19:14:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c32f38619af6302da58835fb292b159bdd96d11f'/>
<id>c32f38619af6302da58835fb292b159bdd96d11f</id>
<content type='text'>
Merge the 'net' tree to get the recent set of netfilter bug fixes in
order to assist with some merge hassles Pablo is going to have to deal
with for upcoming changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge the 'net' tree to get the recent set of netfilter bug fixes in
order to assist with some merge hassles Pablo is going to have to deal
with for upcoming changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: provide an IP ident in UDP frames</title>
<updated>2012-08-30T16:32:14+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2012-08-24T01:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ee13040901c11b016d996ab5a946acaaa3461737'/>
<id>ee13040901c11b016d996ab5a946acaaa3461737</id>
<content type='text'>
Let's fill IP header ident field with a meaningful value,
it might help some setups.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let's fill IP header ident field with a meaningful value,
it might help some setups.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: revert 6bdb7fe3104 and fix be_poll() instead</title>
<updated>2012-08-29T19:03:23+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-08-24T21:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=072a9c48600409d72aeb0d5b29fbb75861a06631'/>
<id>072a9c48600409d72aeb0d5b29fbb75861a06631</id>
<content type='text'>
Against -net.

In the patch "netpoll: re-enable irq in poll_napi()", I tried to
fix the following warning:

[100718.051041] ------------[ cut here ]------------
[100718.051048] WARNING: at kernel/softirq.c:159 local_bh_enable_ip+0x7d/0xb0()
(Not tainted)
[100718.051049] Hardware name: ProLiant BL460c G7
...
[100718.051068] Call Trace:
[100718.051073]  [&lt;ffffffff8106b747&gt;] ? warn_slowpath_common+0x87/0xc0
[100718.051075]  [&lt;ffffffff8106b79a&gt;] ? warn_slowpath_null+0x1a/0x20
[100718.051077]  [&lt;ffffffff810747ed&gt;] ? local_bh_enable_ip+0x7d/0xb0
[100718.051080]  [&lt;ffffffff8150041b&gt;] ? _spin_unlock_bh+0x1b/0x20
[100718.051085]  [&lt;ffffffffa00ee974&gt;] ? be_process_mcc+0x74/0x230 [be2net]
[100718.051088]  [&lt;ffffffffa00ea68c&gt;] ? be_poll_tx_mcc+0x16c/0x290 [be2net]
[100718.051090]  [&lt;ffffffff8144fe76&gt;] ? netpoll_poll_dev+0xd6/0x490
[100718.051095]  [&lt;ffffffffa01d24a5&gt;] ? bond_poll_controller+0x75/0x80 [bonding]
[100718.051097]  [&lt;ffffffff8144fde5&gt;] ? netpoll_poll_dev+0x45/0x490
[100718.051100]  [&lt;ffffffff81161b19&gt;] ? ksize+0x19/0x80
[100718.051102]  [&lt;ffffffff81450437&gt;] ? netpoll_send_skb_on_dev+0x157/0x240

by reenabling IRQ before calling -&gt;poll, but it seems more
problems are introduced after that patch:

http://ozlabs.org/~akpm/stuff/IMG_20120824_122054.jpg
http://marc.info/?l=linux-netdev&amp;m=134563282530588&amp;w=2

So it is safe to fix be2net driver code directly.

This patch reverts the offending commit and fixes be_poll() by
avoid disabling BH there, this is okay because be_poll()
can be called either by poll_napi() which already disables
IRQ, or by net_rx_action() which already disables BH.

Reported-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Reported-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Sathya Perla &lt;sathya.perla@emulex.com&gt;
Cc: Subbu Seetharaman &lt;subbu.seetharaman@emulex.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@emulex.com&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Against -net.

In the patch "netpoll: re-enable irq in poll_napi()", I tried to
fix the following warning:

[100718.051041] ------------[ cut here ]------------
[100718.051048] WARNING: at kernel/softirq.c:159 local_bh_enable_ip+0x7d/0xb0()
(Not tainted)
[100718.051049] Hardware name: ProLiant BL460c G7
...
[100718.051068] Call Trace:
[100718.051073]  [&lt;ffffffff8106b747&gt;] ? warn_slowpath_common+0x87/0xc0
[100718.051075]  [&lt;ffffffff8106b79a&gt;] ? warn_slowpath_null+0x1a/0x20
[100718.051077]  [&lt;ffffffff810747ed&gt;] ? local_bh_enable_ip+0x7d/0xb0
[100718.051080]  [&lt;ffffffff8150041b&gt;] ? _spin_unlock_bh+0x1b/0x20
[100718.051085]  [&lt;ffffffffa00ee974&gt;] ? be_process_mcc+0x74/0x230 [be2net]
[100718.051088]  [&lt;ffffffffa00ea68c&gt;] ? be_poll_tx_mcc+0x16c/0x290 [be2net]
[100718.051090]  [&lt;ffffffff8144fe76&gt;] ? netpoll_poll_dev+0xd6/0x490
[100718.051095]  [&lt;ffffffffa01d24a5&gt;] ? bond_poll_controller+0x75/0x80 [bonding]
[100718.051097]  [&lt;ffffffff8144fde5&gt;] ? netpoll_poll_dev+0x45/0x490
[100718.051100]  [&lt;ffffffff81161b19&gt;] ? ksize+0x19/0x80
[100718.051102]  [&lt;ffffffff81450437&gt;] ? netpoll_send_skb_on_dev+0x157/0x240

by reenabling IRQ before calling -&gt;poll, but it seems more
problems are introduced after that patch:

http://ozlabs.org/~akpm/stuff/IMG_20120824_122054.jpg
http://marc.info/?l=linux-netdev&amp;m=134563282530588&amp;w=2

So it is safe to fix be2net driver code directly.

This patch reverts the offending commit and fixes be_poll() by
avoid disabling BH there, this is okay because be_poll()
can be called either by poll_napi() which already disables
IRQ, or by net_rx_action() which already disables BH.

Reported-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Reported-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Sathya Perla &lt;sathya.perla@emulex.com&gt;
Cc: Subbu Seetharaman &lt;subbu.seetharaman@emulex.com&gt;
Cc: Ajit Khaparde &lt;ajit.khaparde@emulex.com&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Sylvain Munaut &lt;s.munaut@whatever-company.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: re-enable irq in poll_napi()</title>
<updated>2012-08-14T21:33:33+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-08-10T01:24:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6bdb7fe31046ac50b47e83c35cd6c6b6160a475d'/>
<id>6bdb7fe31046ac50b47e83c35cd6c6b6160a475d</id>
<content type='text'>
napi-&gt;poll() needs IRQ enabled, so we have to re-enable IRQ before
calling it.

Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
napi-&gt;poll() needs IRQ enabled, so we have to re-enable IRQ before
calling it.

Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: handle vlan tags in netpoll tx and rx path</title>
<updated>2012-08-14T21:33:32+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-08-10T01:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=689971b44613883ee74ae9c1b31a864aaa3a8e17'/>
<id>689971b44613883ee74ae9c1b31a864aaa3a8e17</id>
<content type='text'>
Without this patch, I can't get netconsole logs remotely over
vlan. The reason is probably we don't handle vlan tags in either
netpoll tx or rx path.

I am not sure if I use these vlan functions correctly, at
least this patch works.

Cc: Benjamin LaHaise &lt;bcrl@kvack.org&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without this patch, I can't get netconsole logs remotely over
vlan. The reason is probably we don't handle vlan tags in either
netpoll tx or rx path.

I am not sure if I use these vlan functions correctly, at
least this patch works.

Cc: Benjamin LaHaise &lt;bcrl@kvack.org&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: take rcu_read_lock_bh() in netpoll_send_skb_on_dev()</title>
<updated>2012-08-14T21:33:31+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-08-10T01:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2899656b494dcd118123af1126826b115c8ea6f9'/>
<id>2899656b494dcd118123af1126826b115c8ea6f9</id>
<content type='text'>
This patch fixes several problems in the call path of
netpoll_send_skb_on_dev():

1. Disable IRQ's before calling netpoll_send_skb_on_dev().

2. All the callees of netpoll_send_skb_on_dev() should use
   rcu_dereference_bh() to dereference -&gt;npinfo.

3. Rename arp_reply() to netpoll_arp_reply(), the former is too generic.

Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes several problems in the call path of
netpoll_send_skb_on_dev():

1. Disable IRQ's before calling netpoll_send_skb_on_dev().

2. All the callees of netpoll_send_skb_on_dev() should use
   rcu_dereference_bh() to dereference -&gt;npinfo.

3. Rename arp_reply() to netpoll_arp_reply(), the former is too generic.

Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netpoll: take rcu_read_lock_bh() in netpoll_rx()</title>
<updated>2012-08-14T21:33:31+00:00</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2012-08-10T01:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=57c5d46191e75312934c00eba65b13a31ca95120'/>
<id>57c5d46191e75312934c00eba65b13a31ca95120</id>
<content type='text'>
In __netpoll_rx(), it dereferences -&gt;npinfo without rcu_dereference_bh(),
this patch fixes it by using the 'npinfo' passed from netpoll_rx()
where it is already dereferenced with rcu_dereference_bh().

Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In __netpoll_rx(), it dereferences -&gt;npinfo without rcu_dereference_bh(),
this patch fixes it by using the 'npinfo' passed from netpoll_rx()
where it is already dereferenced with rcu_dereference_bh().

Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
