amarao (amarao_san) wrote,
amarao
amarao_san

slub allocation fail memory fragmentation jumbo frames

Продолжаю исследовать проблему. Пока собираю ссылки.

http://marc.info/?l=linux-netdev&m=115171230930203&w=4
http://code.google.com/p/alt-f/issues/detail?id=18
http://utcc.utoronto.ca/~cks/space/blog/linux/WhyPageAllocFailure

ixgb.txt:

Allocating Rx Buffers when Using Jumbo Frames
---------------------------------------------
Allocating Rx buffers when using Jumbo Frames on 2.6.x kernels may fail if
the available memory is heavily fragmented. This issue may be seen with PCI-X
adapters or with packet split disabled. This can be reduced or eliminated
by changing the amount of available memory for receive buffer allocation, by
increasing /proc/sys/vm/min_free_kbytes.


DocBook/kernel-hacking.tmpl

If you are allocating more than a page worth of bytes you can use
vmalloc(). It'll allocate virtual memory in
the kernel map. This block is not contiguous in physical memory,
but the MMU makes it look like it is for you
(so it'll only look contiguous to the CPUs, not to external device
drivers). If you really need large physically contiguous memory
for some weird device, you have a problem: it is poorly supported
in Linux because after some time memory fragmentation in a running
kernel makes it hard
. The best way is to allocate the block early
in the boot process via the alloc_bootmem routine.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=714729
Tags: jumbo frames, linux kernel, linux network
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments