[PATCH 1/1] hv_netvsc: Allocate the receive buffer from the correct NUMA node

KY Srinivasan kys at microsoft.com
Thu May 28 22:29:12 UTC 2015



> -----Original Message-----
> From: K. Y. Srinivasan [mailto:kys at microsoft.com]
> Sent: Thursday, May 28, 2015 2:56 PM
> To: davem at davemloft.net; netdev at vger.kernel.org; linux-
> kernel at vger.kernel.org; devel at linuxdriverproject.org; olaf at aepfle.de;
> apw at canonical.com; jasowang at redhat.com
> Cc: KY Srinivasan
> Subject: [PATCH 1/1] hv_netvsc: Allocate the receive buffer from the correct
> NUMA node
> 
> Allocate the receive bufer from the NUMA node assigned to the primary
> channel.
> 
> Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
> ---
>  drivers/net/hyperv/netvsc.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
> index b024968..d187965 100644
> --- a/drivers/net/hyperv/netvsc.c
> +++ b/drivers/net/hyperv/netvsc.c
> @@ -227,13 +227,18 @@ static int netvsc_init_buf(struct hv_device *device)
>  	struct netvsc_device *net_device;
>  	struct nvsp_message *init_packet;
>  	struct net_device *ndev;
> +	int node;
> 
>  	net_device = get_outbound_net_device(device);
>  	if (!net_device)
>  		return -ENODEV;
>  	ndev = net_device->ndev;
> 
> -	net_device->recv_buf = vzalloc(net_device->recv_buf_size);
> +	node = cpu_to_node(device->channel->target_cpu);
> +	net_device->recv_buf = vzalloc_node(net_device->recv_buf_size,
> node);
> +	if (!net_device->recv_buf)
> +		net_device->recv_buf = vzalloc(net_device->recv_buf_size);
> +
>  	if (!net_device->recv_buf) {
>  		netdev_err(ndev, "unable to allocate receive "
>  			"buffer of size %d\n", net_device->recv_buf_size);
> --
> 1.7.4.1

David,

Please drop this patch; I am going to resend this with another patch.

Regards,

K. Y


More information about the devel mailing list