<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/dccp/ccids, branch v2.6.23.17</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>[DCCP]: Allocation in atomic context</title>
<updated>2007-08-22T03:58:06+00:00</updated>
<author>
<name>Gerrit Renker</name>
<email>gerrit@erg.abdn.ac.uk</email>
</author>
<published>2007-08-20T00:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=39dad26c37fdb1382e4173172a2704fa278f7fd6'/>
<id>39dad26c37fdb1382e4173172a2704fa278f7fd6</id>
<content type='text'>
This fixes the following bug reported in syslog:

[ 4039.051658] BUG: sleeping function called from invalid context at /usr/src/davem-2.6/mm/slab.c:3032
[ 4039.051668] in_atomic():1, irqs_disabled():0
[ 4039.051670] INFO: lockdep is turned off.
[ 4039.051674]  [&lt;c0104c0f&gt;] show_trace_log_lvl+0x1a/0x30
[ 4039.051687]  [&lt;c0104d4d&gt;] show_trace+0x12/0x14
[ 4039.051691]  [&lt;c0104d65&gt;] dump_stack+0x16/0x18
[ 4039.051695]  [&lt;c011371e&gt;] __might_sleep+0xaf/0xbe
[ 4039.051700]  [&lt;c0157b66&gt;] __kmalloc+0xb1/0xd0
[ 4039.051706]  [&lt;f090416f&gt;] ccid2_hc_tx_alloc_seq+0x35/0xc3 [dccp_ccid2]
[ 4039.051717]  [&lt;f09048d6&gt;] ccid2_hc_tx_packet_sent+0x27f/0x2d9 [dccp_ccid2]
[ 4039.051723]  [&lt;f085486b&gt;] dccp_write_xmit+0x1eb/0x338 [dccp]
[ 4039.051741]  [&lt;f085603d&gt;] dccp_sendmsg+0x113/0x18f [dccp]
[ 4039.051750]  [&lt;c03907fc&gt;] inet_sendmsg+0x2e/0x4c
[ 4039.051758]  [&lt;c033a47d&gt;] sock_aio_write+0xd5/0x107
[ 4039.051766]  [&lt;c015abc1&gt;] do_sync_write+0xcd/0x11c
[ 4039.051772]  [&lt;c015b296&gt;] vfs_write+0x118/0x11f
[ 4039.051840]  [&lt;c015b932&gt;] sys_write+0x3d/0x64
[ 4039.051845]  [&lt;c0103e7c&gt;] syscall_call+0x7/0xb
[ 4039.051848]  =======================

The problem was that GFP_KERNEL was used; fixed by using gfp_any().

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&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 fixes the following bug reported in syslog:

[ 4039.051658] BUG: sleeping function called from invalid context at /usr/src/davem-2.6/mm/slab.c:3032
[ 4039.051668] in_atomic():1, irqs_disabled():0
[ 4039.051670] INFO: lockdep is turned off.
[ 4039.051674]  [&lt;c0104c0f&gt;] show_trace_log_lvl+0x1a/0x30
[ 4039.051687]  [&lt;c0104d4d&gt;] show_trace+0x12/0x14
[ 4039.051691]  [&lt;c0104d65&gt;] dump_stack+0x16/0x18
[ 4039.051695]  [&lt;c011371e&gt;] __might_sleep+0xaf/0xbe
[ 4039.051700]  [&lt;c0157b66&gt;] __kmalloc+0xb1/0xd0
[ 4039.051706]  [&lt;f090416f&gt;] ccid2_hc_tx_alloc_seq+0x35/0xc3 [dccp_ccid2]
[ 4039.051717]  [&lt;f09048d6&gt;] ccid2_hc_tx_packet_sent+0x27f/0x2d9 [dccp_ccid2]
[ 4039.051723]  [&lt;f085486b&gt;] dccp_write_xmit+0x1eb/0x338 [dccp]
[ 4039.051741]  [&lt;f085603d&gt;] dccp_sendmsg+0x113/0x18f [dccp]
[ 4039.051750]  [&lt;c03907fc&gt;] inet_sendmsg+0x2e/0x4c
[ 4039.051758]  [&lt;c033a47d&gt;] sock_aio_write+0xd5/0x107
[ 4039.051766]  [&lt;c015abc1&gt;] do_sync_write+0xcd/0x11c
[ 4039.051772]  [&lt;c015b296&gt;] vfs_write+0x118/0x11f
[ 4039.051840]  [&lt;c015b932&gt;] sys_write+0x3d/0x64
[ 4039.051845]  [&lt;c0103e7c&gt;] syscall_call+0x7/0xb
[ 4039.051848]  =======================

The problem was that GFP_KERNEL was used; fixed by using gfp_any().

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mm: Remove slab destructors from kmem_cache_create().</title>
<updated>2007-07-20T01:11:58+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2007-07-20T01:11:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20c2df83d25c6a95affe6157a4c9cac4cf5ffaac'/>
<id>20c2df83d25c6a95affe6157a4c9cac4cf5ffaac</id>
<content type='text'>
Slab destructors were no longer supported after Christoph's
c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
BUGs for both slab and slub, and slob never supported them
either.

This rips out support for the dtor pointer from kmem_cache_create()
completely and fixes up every single callsite in the kernel (there were
about 224, not including the slab allocator definitions themselves,
or the documentation references).

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Slab destructors were no longer supported after Christoph's
c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
BUGs for both slab and slub, and slob never supported them
either.

This rips out support for the dtor pointer from kmem_cache_create()
completely and fixes up every single callsite in the kernel (there were
about 224, not including the slab allocator definitions themselves,
or the documentation references).

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET] DCCP: Fix whitespace errors.</title>
<updated>2007-07-19T01:43:28+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2007-07-19T01:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=23248005fbe5fa32a3f6d00cdec1ecfb115d28eb'/>
<id>23248005fbe5fa32a3f6d00cdec1ecfb115d28eb</id>
<content type='text'>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[DCCP]: Make struct dccp_li_cachep static.</title>
<updated>2007-07-11T05:18:52+00:00</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2007-07-09T20:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f'/>
<id>4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f</id>
<content type='text'>
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[CCID3]: Fix a bug in the send time processing</title>
<updated>2007-07-11T05:15:34+00:00</updated>
<author>
<name>Gerrit Renker</name>
<email>gerrit@erg.abdn.ac.uk</email>
</author>
<published>2007-06-16T16:48:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=49d66a70cf9fd94057aacd6055334299ab3a5eac'/>
<id>49d66a70cf9fd94057aacd6055334299ab3a5eac</id>
<content type='text'>
ccid3_hc_tx_send_packet currently returns 0 when the time difference between
current time and t_nom is less than 1000 microseconds.

In this case the packet is sent immediately; but, unlike other packets that can
be emitted on first attempt, it will not have its window counter updated and
its options set as required. This is a bug.

Fix: Require the time difference to be at least 1000 microseconds. The
algorithm then converges: time differences &gt; 1000 microseconds trigger the
timer in dccp_write_xmit; after timer expiry this function is tried again; when
the time difference is less than 1000, the packet will have its options added
and window counter updated as required.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ccid3_hc_tx_send_packet currently returns 0 when the time difference between
current time and t_nom is less than 1000 microseconds.

In this case the packet is sent immediately; but, unlike other packets that can
be emitted on first attempt, it will not have its window counter updated and
its options set as required. This is a bug.

Fix: Require the time difference to be at least 1000 microseconds. The
algorithm then converges: time differences &gt; 1000 microseconds trigger the
timer in dccp_write_xmit; after timer expiry this function is tried again; when
the time difference is less than 1000, the packet will have its options added
and window counter updated as required.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[CCID3]: Sending time: update to ktime_t</title>
<updated>2007-07-11T05:15:27+00:00</updated>
<author>
<name>Gerrit Renker</name>
<email>gerrit@erg.abdn.ac.uk</email>
</author>
<published>2007-06-16T16:34:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8132da4d412ad51c34bad11133a8f0941e2a1972'/>
<id>8132da4d412ad51c34bad11133a8f0941e2a1972</id>
<content type='text'>
This updates the computation of t_nom and t_last_win_count to use the newer
gettimeofday interface.

Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in
                ccid3hctx_no_feedback_timer

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updates the computation of t_nom and t_last_win_count to use the newer
gettimeofday interface.

Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in
                ccid3hctx_no_feedback_timer

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loss_interval: make struct dccp_li_hist_entry private</title>
<updated>2007-07-11T05:15:24+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-05-28T21:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dd36a9aba44e4ddbac011de2cb14a70444487303'/>
<id>dd36a9aba44e4ddbac011de2cb14a70444487303</id>
<content type='text'>
net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loss_interval: Nuke dccp_li_hist</title>
<updated>2007-07-11T05:15:23+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-05-28T21:53:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cc4d6a3a34ce3976d7d01d044f3093cddc2921c2'/>
<id>cc4d6a3a34ce3976d7d01d044f3093cddc2921c2</id>
<content type='text'>
It had just a slab cache, so, for the sake of simplicity just make
dccp_trfc_lib module init routine create the slab cache, no need for users of
the lib to create a private loss_interval object.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It had just a slab cache, so, for the sake of simplicity just make
dccp_trfc_lib module init routine create the slab cache, no need for users of
the lib to create a private loss_interval object.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loss_interval: Make dccp_li_hist_entry_{new,delete} private</title>
<updated>2007-07-11T05:15:22+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-05-28T21:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f'/>
<id>c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f</id>
<content type='text'>
Not used outside the loss_interval code anymore.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not used outside the loss_interval code anymore.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loss_interval: unexport dccp_li_hist_interval_new</title>
<updated>2007-07-11T05:15:21+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-05-28T21:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8c281780c6f867460c84bd78d9c3885c10f00ae1'/>
<id>8c281780c6f867460c84bd78d9c3885c10f00ae1</id>
<content type='text'>
Now its only used inside the loss_interval code.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now its only used inside the loss_interval code.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
