[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <70a31f9c525b4e12af19ed0189aa2fce@DFM-DB3MBX15-06.exchange.corp.microsoft.com>
Date: Tue, 8 Jul 2014 18:51:35 +0000
From: Haiyang Zhang <haiyangz@...rosoft.com>
To: Richard Weinberger <richard@....at>,
KY Srinivasan <kys@...rosoft.com>
CC: "devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] hyperv: Add netpoll support
> -----Original Message-----
> From: Richard Weinberger [mailto:richard@....at]
> Sent: Tuesday, July 8, 2014 2:40 PM
> To: Haiyang Zhang; KY Srinivasan
> Cc: devel@...uxdriverproject.org; netdev@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Subject: Re: [PATCH] hyperv: Add netpoll support
>
> Am 08.07.2014 19:55, schrieb Haiyang Zhang:
> >
> >
> >> -----Original Message-----
> >> From: Richard Weinberger [mailto:richard@....at]
> >> Sent: Tuesday, July 8, 2014 5:32 AM
> >> To: KY Srinivasan; Haiyang Zhang
> >> Cc: devel@...uxdriverproject.org; netdev@...r.kernel.org; linux-
> >> kernel@...r.kernel.org; Richard Weinberger
> >> Subject: [PATCH] hyperv: Add netpoll support
> >>
> >> In order to have at least a netconsole to debug kernel issues on
> >> Windows Azure this patch implements netpoll support.
> >> Sending packets is easy, netvsc_start_xmit() does already everything
> >> needed.
> >> To receive we need to trigger the channel callback which is usally
> >> called via tasklet_schedule().
> >>
> >> Signed-off-by: Richard Weinberger <richard@....at>
> >> ---
> >> drivers/net/hyperv/netvsc_drv.c | 14 ++++++++++++++
> >> 1 file changed, 14 insertions(+)
> >>
> >> diff --git a/drivers/net/hyperv/netvsc_drv.c
> >> b/drivers/net/hyperv/netvsc_drv.c
> >> index 4fd71b7..367b71e 100644
> >> --- a/drivers/net/hyperv/netvsc_drv.c
> >> +++ b/drivers/net/hyperv/netvsc_drv.c
> >> @@ -736,6 +736,17 @@ static int netvsc_set_mac_addr(struct net_device
> >> *ndev, void *p)
> >> return err;
> >> }
> >>
> >> +#ifdef CONFIG_NET_POLL_CONTROLLER
> >> +static void netvsc_poll_controller(struct net_device *net)
> >> +{
> >> + struct net_device_context *net_device_ctx = netdev_priv(net);
> >> + struct hv_device *dev = net_device_ctx->device_ctx;
> >> +
> >> + local_bh_disable();
> >> + netvsc_channel_cb(dev->channel);
> >
> > This can only poll the primary channel not the sub channels.
>
> Sub channels in terms of one channel per VCPU as KY said?
>
> *confused*,
Since it's used only for debugging, polling the subchannels may not be
necessary.
Regarding the CPU binding, KY will reply you in another email.
Thanks,
- Haiyang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists