[rt2x00-users] [RFT] rt2x00: Use GFP_KERNEL for rx buffer allocation on USB devices
helmut.schaa at googlemail.com
Wed Apr 18 22:04:11 EST 2012
On Wed, Apr 18, 2012 at 1:57 PM, Andreas Hartmann
<andihartmann at 01019freenet.de> wrote:
> Helmut Schaa wrote:
>> Since the RX path on USB devices is handled in process context we can
>> use GFP_KERNEL for RX buffer allocation. This should reduce the
>> likelihood of allocation failures.
>> Signed-off-by: Helmut Schaa <helmut.schaa at googlemail.com>
>> I don't have any USB devices here, so this is untested.
>> Mind to give it a try?
> I tested it with linksys WUSB600Nv2 (supplicant) and rt2860 (AP), both
> on 64 bit SMP machines. I couldn't find any problems (802.11n / 2.4 GHz
> / 40MHz). But I cannot say, if it fixes the allocation failures as I do
> have enough RAM.
> Does this change really affect only usb?
The change, yes.
> As far as I can see, pci is
> affected, too?
> Or did I misunderstood something?
However PCI processes the RX path in softirq context and as such
cannot use GFP_KERNEL allocations. And I would hesitate to switch
PCI to also use process context for interrupt processing. In my tests
this affects performance on embedded devices heavily.
So, this workaround is only applicable to USB for now.
More information about the users