CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2015/02/18 16:58:35

Modified files:
        sys/dev/pci    : if_myx.c if_myxreg.h 

Log message:
myri employees and their drivers for linux and solaris have repeatedly
told me that if you're going to rx into buffers greater than 4k in
size, they have to be aligned to a 4k boundary.

the mru of this chip is 9k, but ive been using the 12k mcl pool to
provide the alignment. however, if we move to putting 8 items on a
pool page there'll be enough slack space in the mcl12k pool pages
to allow item colouring, which in turn will break the chip requirement
above. in practice the chips i have seem to work fine with unaligned
buffers, but i dont want to risk breaking early revision chips.

this moves myx to using a private pool for allocating clusters for
the big rx ring. the item size is 9k, but we specify a 4k alignment
so every item we get out of it will be correct for the chip.

Reply via email to