RE: [PATCH net-next] hyperv: Add support for physicallydiscontinuous receive buffer

From: Haiyang Zhang
Date: Mon Jan 20 2014 - 17:07:36 EST




> -----Original Message-----
> From: David Miller [mailto:davem@xxxxxxxxxxxxx]
> Sent: Tuesday, January 14, 2014 5:32 PM
> To: Haiyang Zhang
> Cc: netdev@xxxxxxxxxxxxxxx; KY Srinivasan; olaf@xxxxxxxxx;
> jasowang@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; driverdev-
> devel@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH net-next] hyperv: Add support for physically discontinuous
> receive buffer
>
> From: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> Date: Thu, 9 Jan 2014 14:24:47 -0800
>
> > This will allow us to use bigger receive buffer, and prevent
> > allocation failure due to fragmented memory.
> >
> > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> > Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
>
> Not until you start using paged SKBs in netvsc_recv_callback.
>
> Whatever fragmention you think you're avoiding in the hyperv layer, you're still
> going to get from the:
>
> skb = netdev_alloc_skb_ip_align(net, packet->total_data_buflen);
>
> call there.
>
> This change makes no sense in isolation, therefore I'm not applying it until you
> also include the appropriate changes to avoid the same exact fragmentation
> issue in netvsc_drv.c as stated above.

The receive buffer currently requires multiple MB of physically continuous memory,
and may fail to be allocated when memory is fragmented. The patch is created for
this issue.

The SKB buffer is usually less than 1500 bytes or up to several KB with jumbo frame,
so it's much less sensitive to fragmented memory. I will work on another patch to use
SKB buffer with discontinuous pages.

Could you accept this patch separately?

Thanks,
- Haiyang

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/