<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sched/sch_api.c, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-06-27T04:54:15Z</updated>
<entry>
<title>pkt_sched: sch_api: Move away from NLMSG_NEW().</title>
<updated>2012-06-27T04:54:15Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-06-27T04:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02ef22ca4044fe90867f77cba720e4a442122826'/>
<id>urn:sha1:02ef22ca4044fe90867f77cba720e4a442122826</id>
<content type='text'>
And use nlmsg_data() while we're here too, as well as remove
a useless cast.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Convert net_ratelimit uses to net_&lt;level&gt;_ratelimited</title>
<updated>2012-05-15T17:45:03Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2012-05-13T21:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e87cc4728f0e2fb663e592a1141742b1d6c63256'/>
<id>urn:sha1:e87cc4728f0e2fb663e592a1141742b1d6c63256</id>
<content type='text'>
Standardize the net core ratelimited logging functions.

Coalesce formats, align arguments.
Change a printk then vprintk sequence to use printf extension %pV.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>pkt_sched: Stop using NLA_PUT*().</title>
<updated>2012-04-01T22:11:37Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-03-29T09:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b34ec43c9b3de44a5420841ab293d1b2035a94c'/>
<id>urn:sha1:1b34ec43c9b3de44a5420841ab293d1b2035a94c</id>
<content type='text'>
These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net_sched: qdisc_alloc_handle() can be too slow</title>
<updated>2012-01-03T18:03:20Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2012-01-03T00:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa0f5aa74316c636427ac92dad0bc5714c34ca17'/>
<id>urn:sha1:fa0f5aa74316c636427ac92dad0bc5714c34ca17</id>
<content type='text'>
When trying to allocate ~32768 qdiscs using autohandle mechanism, we can
fill the space managed by kernel (handles in [8000-FFFF]:0000 range)

But O(N^2) qdisc_alloc_handle() loops 0x10000 times instead of 0x8000

time tc add qdisc add dev eth0 parent 10:7fff pfifo limit 10
RTNETLINK answers: Cannot allocate memory
real    1m54.826s
user    0m0.000s
sys     0m0.004s

INFO: rcu_sched_state detected stall on CPU 0 (t=60000 jiffies)

Half number of loops, and add a cond_resched() call.
We hold rtnl at this point.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Dave Taht &lt;dave.taht@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sched: constify tcf_proto and tc_action</title>
<updated>2011-07-06T09:52:16Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2011-07-05T23:25:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc7f9f6e8838556f226c2ebd1da7bb305cb25654'/>
<id>urn:sha1:dc7f9f6e8838556f226c2ebd1da7bb305cb25654</id>
<content type='text'>
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rtnetlink: Compute and store minimum ifinfo dump size</title>
<updated>2011-06-10T03:38:07Z</updated>
<author>
<name>Greg Rose</name>
</author>
<published>2011-06-10T01:27:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7ac8679bec9397afe8918f788cbcef88c38da54'/>
<id>urn:sha1:c7ac8679bec9397afe8918f788cbcef88c38da54</id>
<content type='text'>
The message size allocated for rtnl ifinfo dumps was limited to
a single page.  This is not enough for additional interface info
available with devices that support SR-IOV and caused a bug in
which VF info would not be displayed if more than approximately
40 VFs were created per interface.

Implement a new function pointer for the rtnl_register service that will
calculate the amount of data required for the ifinfo dump and allocate
enough data to satisfy the request.

Signed-off-by: Greg Rose &lt;gregory.v.rose@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>pkt_sched: Kill set but unused variable 'protocol' in tc_classify()</title>
<updated>2011-05-19T22:32:55Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2011-05-19T22:32:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f06cd54f555a4ceca4de39160c68c7e3da657e89'/>
<id>urn:sha1:f06cd54f555a4ceca4de39160c68c7e3da657e89</id>
<content type='text'>
I checked the history and this has been like this since the
beginning of time.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sched: protocol only needed when CONFIG_NET_CLS_ACT is enabled</title>
<updated>2011-02-25T22:00:23Z</updated>
<author>
<name>Hagen Paul Pfeifer</name>
</author>
<published>2011-02-25T05:45:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52bc97470e22e67f11b054e51a31eee100ef6867'/>
<id>urn:sha1:52bc97470e22e67f11b054e51a31eee100ef6867</id>
<content type='text'>
Signed-off-by: Hagen Paul Pfeifer &lt;hagen@jauu.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net_sched: RCU conversion of stab</title>
<updated>2011-01-21T00:59:32Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2011-01-20T03:48:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2da570d62fcb9e8816f6920e1ec02c706b289fa'/>
<id>urn:sha1:a2da570d62fcb9e8816f6920e1ec02c706b289fa</id>
<content type='text'>
This patch converts stab qdisc management to RCU, so that we can perform
the qdisc_calculate_pkt_len() call before getting qdisc lock.

This shortens the lock's held time in __dev_xmit_skb().

This permits more qdiscs to get TCQ_F_CAN_BYPASS status, avoiding lot of
cache misses and so reducing latencies.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
CC: Jesper Dangaard Brouer &lt;hawk@diku.dk&gt;
CC: Jarek Poplawski &lt;jarkao2@gmail.com&gt;
CC: Jamal Hadi Salim &lt;hadi@cyberus.ca&gt;
CC: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net_sched: move TCQ_F_THROTTLED flag</title>
<updated>2011-01-21T00:59:32Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2011-01-20T05:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd245a4adb5288eac37250875f237c40a20a1944'/>
<id>urn:sha1:fd245a4adb5288eac37250875f237c40a20a1944</id>
<content type='text'>
In commit 371121057607e (net: QDISC_STATE_RUNNING dont need atomic bit
ops) I moved QDISC_STATE_RUNNING flag to __state container, located in
the cache line containing qdisc lock and often dirtied fields.

I now move TCQ_F_THROTTLED bit too, so that we let first cache line read
mostly, and shared by all cpus. This should speedup HTB/CBQ for example.

Not using test_bit()/__clear_bit()/__test_and_set_bit allows to use an
"unsigned int" for __state container, reducing by 8 bytes Qdisc size.

Introduce helpers to hide implementation details.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
CC: Jesper Dangaard Brouer &lt;hawk@diku.dk&gt;
CC: Jarek Poplawski &lt;jarkao2@gmail.com&gt;
CC: Jamal Hadi Salim &lt;hadi@cyberus.ca&gt;
CC: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
