On 12/3/20 8:03 PM, John Ousterhout wrote:
> I recently upgraded my kernel module implementing the Homa transport
> protocol from 4.15.18 to 5.4.80, and a GRO feature available in the
> older version seems to have gone away in the newer version. In
> particular, it used to be possible for a protocol's xxx_gro_receive
> function to force a packet up the stack immediately by returning that
> skb as the result of xxx_gro_receive. However, in the newer kernel
> version, these packets simply get queued on napi->rx_list; the queue
> doesn't get flushed up-stack until napi_complete_done is called or
> gro_normal_batch packets accumulate. For Homa, this extra level of
> queuing gets in the way.
Could you describe what the issue is ?
>
> Is there any way for a xxx_gro_receive function to force a packet (in
> particular, one of those in the list passed as first argument to
> xxx_gro_receive) up the protocol stack immediately? I suppose I could
> set gro_normal_batch to 1, but that might interfere with other
> protocols that really want the batching.
>
> -John-
>