• Johannes Berg's avatar
    iwlwifi: pcie: implement GRO without NAPI · f14d6b39
    Johannes Berg authored
    Use the new NAPI infrastructure added to mac80211 to get
    GRO. We don't really implement NAPI since we don't have
    a real poll function and we never schedule a NAPI poll.
    Instead of this, we collect all the packets we got from a
    single interrupt and then call napi_gro_flush().
    
    This allows us to benefit from GRO. In half duplex medium
    like WiFi, its main advantage is that it reduces the number
    of TCP Acks, hence improving the TCP Rx performance.
    
    Since we call the Rx path with a spinlock held, remove
    the might_sleep mention from the op_mode's API.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Reviewed-by: default avatarIdo Yariv <ido@wizery.com>
    [Squash different patches and rewrite the commit message]
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    f14d6b39
ops.c 34.2 KB