]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Remove local jumbo locator and switch to UMA backed page allocator
authorPyun YongHyeon <yongari@FreeBSD.org>
Wed, 14 Jan 2009 05:08:52 +0000 (05:08 +0000)
committerPyun YongHyeon <yongari@FreeBSD.org>
Wed, 14 Jan 2009 05:08:52 +0000 (05:08 +0000)
commit85b340cb2478aeecb0c85ffa23feaeecee2c55b6
tree098a74d72b1c32ba800979ae0b922c1384a382b8
parentf9ad2b2f3c9610293edf4690176aa7d78b7759c0
Remove local jumbo locator and switch to UMA backed page allocator
for jumbo frame.
  o Nuke unneeded jlist lock which was used to protect jumbo buffer
    management in local allocator.
  o Added a new tunable hw.mskc.jumbo_disable to disable jumbo
    frame support for the driver. The tunable could be set for
    systems that do not need to use jumbo frames and it would
    save (9K * number of Rx descriptors) bytes kernel memory.
  o Jumbo buffer allocation failure is no longer critical error
    for the operation of msk(4). If msk(4) encounter the allocation
    failure it just disables jumbo frame support and continues to
    work without your intervention.

Using local allocator had several drawbacks such as requirement of
large amount of continuous kernel memory and fixed (small) number
of available buffers. The need for large continuous memory resulted
in failure of loading driver with kldload on running systems.
Also small number of buffer used in local allocator showed poor
performance for some applications.
sys/dev/msk/if_msk.c
sys/dev/msk/if_mskreg.h