From: starlight@binnacle.cx
To: Mel Gorman <mel@csn.ul.ie>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
hugh.dickins@tiscali.co.uk, Lee.Schermerhorn@hp.com,
kosaki.motohiro@jp.fujitsu.com, ebmunson@us.ibm.com,
agl@us.ibm.com, apw@canonical.com, wli@movementarian.org
Subject: Re: QUESTION: can netdev_alloc_skb() errors be reduced by tuning?
Date: Tue, 16 Jun 2009 11:25:29 -0400 [thread overview]
Message-ID: <6.2.5.6.2.20090616111535.05b5e4b0@binnacle.cx> (raw)
In-Reply-To: <20090616091932.GB14241@csn.ul.ie>
At 10:19 AM 6/16/2009 +0100, Mel Gorman wrote:
>Can you give an example of an allocation failure? Specifically, I want to
>see what sort of allocation it was and what order.
I think it's just the basic buffer allocation for
Ethernet frames arriving in the 'ixgbe' driver. Seems
like it's one allocation per frame. Per the original
message the allocations are made with the 'netdev_alloc_skb()'
kernel call. The function where this code appears is
named 'ixgbe_alloc_rx_buffers()' and the comment is
"Replace used receive buffers."
The code path in question does not generate an error. It just
increments the 'alloc_rx_buff_failed' counter for the ethX
device. In addition it appears that the frame is dropped
only if the PCIe hardware ring-queue associated with each
interface is full. So on the next interrupt the allocation
is retried and appears to be successful 99% of the time.
>For reliable protocols, an allocation failure should recover and the
>data get through but obviously there is a drop in network performance
>when this happens.
This is for a specialized high-volume UDP multicast application
where data loss of any kind is unacceptable.
>If the allocations are high-order and atomic, increasing min_free_kbytes
>can help, particularly in situations where there is a burst of network
>traffic. I won't know if they are atomic until I see an error message
>though.
Doesn't the use of 'netdev_alloc_skb()' kernel primitive
imply what the nature of the allocation is? I followed the
call graph down into "kmem" land, but it's a complex place
and so I abandoned the review.
My impression is that 'min_free_kbytes' relates mainly to systems
where significant paging pressure exists. The servers have zero
paging pressure and lots of free memory, though mostly in the
form of instantly discardable file data cache pages. In the
past disabling the program that generates the cache pressure
has had no effect on data loss, though I haven't tried it in
relation this specific issue.
Tried increasing a few /proc/slabinfo tuneable parameters today
and this appears to have fixed the issue so far today.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-06-16 15:35 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-27 11:12 [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Mel Gorman
2009-05-27 11:12 ` [PATCH 1/2] x86: Ignore VM_LOCKED when determining if hugetlb-backed page tables can be shared or not Mel Gorman
2009-05-27 16:38 ` Eric B Munson
2009-05-27 23:18 ` Ingo Molnar
2009-05-28 8:55 ` Mel Gorman
2009-05-27 11:12 ` [PATCH 2/2] mm: Account for MAP_SHARED mappings using VM_MAYSHARE and not VM_SHARED in hugetlbfs Mel Gorman
2009-05-27 16:40 ` Eric B Munson
2009-05-27 20:14 ` [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Andrew Morton
2009-05-27 23:19 ` Ingo Molnar
2009-06-16 0:19 ` QUESTION: can netdev_alloc_skb() errors be reduced by tuning? starlight
2009-06-16 2:26 ` Eric Dumazet
2009-06-16 4:12 ` starlight
2009-06-16 6:12 ` Eric Dumazet
2009-07-05 3:44 ` Herbert Xu
2009-06-16 9:19 ` Mel Gorman
2009-06-16 15:25 ` starlight [this message]
2009-05-28 8:56 ` [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Mel Gorman
2009-06-08 1:25 ` starlight
2009-06-08 10:24 ` Mel Gorman
2009-06-16 17:24 QUESTION: can netdev_alloc_skb() errors be reduced by tuning? starlight
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=6.2.5.6.2.20090616111535.05b5e4b0@binnacle.cx \
--to=starlight@binnacle.cx \
--cc=Lee.Schermerhorn@hp.com \
--cc=agl@us.ibm.com \
--cc=apw@canonical.com \
--cc=ebmunson@us.ibm.com \
--cc=hugh.dickins@tiscali.co.uk \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=wli@movementarian.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