From: Michal Simek <monstr@monstr.eu>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Miller <davem@davemloft.net>,
John Williams <john.williams@petalogix.com>,
netdev@vger.kernel.org
Subject: Re: ICMP packets - ll_temac with Microblaze
Date: Wed, 21 Dec 2011 12:10:28 +0100 [thread overview]
Message-ID: <4EF1BEA4.7080005@monstr.eu> (raw)
In-Reply-To: <1324465386.2728.29.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC>
Eric Dumazet wrote:
> Le mercredi 21 décembre 2011 à 11:45 +0100, Eric Dumazet a écrit :
>> Le mercredi 21 décembre 2011 à 11:41 +0100, Michal Simek a écrit :
>>
>>> yes, page size is 4k.
>>>
>>> Here is the log for allocation - origin size for MTU 9000 is 0x2420(9248) and size after
>>> overhead is 0x3f40(16192)
>>>
>>> kmalloc_node_track_caller size 00002420, SKB_WITH_OVERHEAD(ksize(data)) 00003f40
>>> skb->head c7870000
>>> skb->data c7870000
>>> skb->tail c7870000
>>> skb->truesize 000040c0
>>> skb->end c7873f40
>>>
>> So basically truesize is bigger than previous kernel, and you hit a
>> socket limit. (RCVBUF ?)
>>
>> truesize is more correct, so we uncover prior bugs.
>>
>> We should allow at least one packet, regardless of its size :(
>>
>>
>
> I would try the following patch :
>
> diff --git a/include/net/sock.h b/include/net/sock.h
> index bf6b9fd..21bb3b5 100644
> --- a/include/net/sock.h
> +++ b/include/net/sock.h
> @@ -662,12 +662,14 @@ static inline void __sk_add_backlog(struct sock *sk, struct sk_buff *skb)
>
> /*
> * Take into account size of receive queue and backlog queue
> + * Do not take into account this skb truesize,
> + * to allow even a single big packet to come.
> */
> static inline bool sk_rcvqueues_full(const struct sock *sk, const struct sk_buff *skb)
> {
> unsigned int qsize = sk->sk_backlog.len + atomic_read(&sk->sk_rmem_alloc);
>
> - return qsize + skb->truesize > sk->sk_rcvbuf;
> + return qsize > sk->sk_rcvbuf;
> }
>
> /* The per-socket spinlock must be held here. */
>
It doesn't fix the problem. Do you want to add some printk to code?
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
next prev parent reply other threads:[~2011-12-21 11:10 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-21 10:11 ICMP packets - ll_temac with Microblaze Michal Simek
2011-12-21 10:28 ` Eric Dumazet
2011-12-21 10:30 ` Michal Simek
2011-12-21 10:30 ` Eric Dumazet
2011-12-21 10:32 ` Michal Simek
2011-12-21 10:37 ` Eric Dumazet
2011-12-21 10:41 ` Michal Simek
2011-12-21 10:45 ` Eric Dumazet
2011-12-21 10:54 ` Michal Simek
2011-12-21 11:05 ` Eric Dumazet
2011-12-21 11:03 ` Eric Dumazet
2011-12-21 11:10 ` Michal Simek [this message]
2011-12-21 11:13 ` Eric Dumazet
2011-12-21 11:50 ` Michal Simek
2011-12-21 12:39 ` Eric Dumazet
2011-12-21 13:28 ` Michal Simek
2011-12-21 13:40 ` Eric Dumazet
2011-12-21 14:24 ` Michal Simek
2011-12-21 15:30 ` Eric Dumazet
2011-12-21 15:44 ` Eric Dumazet
2011-12-21 16:01 ` Jun Zhao
2011-12-21 16:05 ` Eric Dumazet
2011-12-21 16:11 ` Jun Zhao
2011-12-21 16:39 ` David Laight
2011-12-21 16:50 ` Eric Dumazet
2011-12-21 15:59 ` Eric Dumazet
2011-12-21 17:11 ` Eric Dumazet
2011-12-21 20:55 ` David Miller
2011-12-22 7:49 ` Michal Simek
2011-12-22 7:57 ` Eric Dumazet
2011-12-22 8:05 ` Michal Simek
2011-12-22 10:32 ` Michael Wang
2011-12-22 10:46 ` Eric Dumazet
2011-12-22 13:01 ` Michael Wang
2011-12-22 13:21 ` Eric Dumazet
2011-12-22 13:42 ` Michael Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EF1BEA4.7080005@monstr.eu \
--to=monstr@monstr.eu \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=john.williams@petalogix.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).