[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] xen-netback: add module parameter to disable ctrl-ring



On 09/03/2021 14:10, Hsu, Chiahao wrote:
On 25.02.21, 13:29, "Hsu, Chiahao" <andyhsu@xxxxxxxxxx> wrote:

     In order to support live migration of guests between kernels
     that do and do not support 'feature-ctrl-ring', we add a
     module parameter that allows the feature to be disabled
     at run time, instead of using hardcode value.
     The default value is enable.

     Signed-off-by: ChiaHao Hsu <andyhsu@xxxxxxxxxx>

You should directly CC maintainers, and also I don't see netdev in the To list... Did you send it there? I suspect not, since I don't see 'net-next' in the prefix.

  Paul

     ---
      drivers/net/xen-netback/common.h  |  2 ++
      drivers/net/xen-netback/netback.c |  6 ++++++
      drivers/net/xen-netback/xenbus.c  | 13 ++++++++-----
      3 files changed, 16 insertions(+), 5 deletions(-)

     diff --git a/drivers/net/xen-netback/common.h 
b/drivers/net/xen-netback/common.h
     index 4a16d6e33c09..bfb7a3054917 100644
     --- a/drivers/net/xen-netback/common.h
     +++ b/drivers/net/xen-netback/common.h
     @@ -276,6 +276,7 @@ struct backend_info {
        u8 have_hotplug_status_watch:1;

        const char *hotplug_script;
     +  bool ctrl_ring_enabled;
      };

      struct xenvif {
     @@ -413,6 +414,7 @@ static inline pending_ring_idx_t 
nr_pending_reqs(struct xenvif_queue *queue)

      irqreturn_t xenvif_interrupt(int irq, void *dev_id);

     +extern bool control_ring;
      extern bool separate_tx_rx_irq;
      extern bool provides_xdp_headroom;

     diff --git a/drivers/net/xen-netback/netback.c 
b/drivers/net/xen-netback/netback.c
     index e5c73f819662..20d858f0456a 100644
     --- a/drivers/net/xen-netback/netback.c
     +++ b/drivers/net/xen-netback/netback.c
     @@ -48,6 +48,12 @@

      #include <asm/xen/hypercall.h>

     +/* Provide an option to disable control ring which is used to pass
     + * large quantities of data from frontend to backend.
     + */
     +bool control_ring = true;
     +module_param(control_ring, bool, 0644);
     +
      /* Provide an option to disable split event channels at load time as
       * event channels are limited resource. Split event channels are
       * enabled by default.
     diff --git a/drivers/net/xen-netback/xenbus.c 
b/drivers/net/xen-netback/xenbus.c
     index a5439c130130..8a9169cff9c5 100644
     --- a/drivers/net/xen-netback/xenbus.c
     +++ b/drivers/net/xen-netback/xenbus.c
     @@ -1123,11 +1123,14 @@ static int netback_probe(struct xenbus_device *dev,
        if (err)
                pr_debug("Error writing multi-queue-max-queues\n");

     -  err = xenbus_printf(XBT_NIL, dev->nodename,
     -                      "feature-ctrl-ring",
     -                      "%u", true);
     -  if (err)
     -          pr_debug("Error writing feature-ctrl-ring\n");
     +  be->ctrl_ring_enabled = READ_ONCE(control_ring);
     +  if (be->ctrl_ring_enabled) {
     +          err = xenbus_printf(XBT_NIL, dev->nodename,
     +                              "feature-ctrl-ring",
     +                              "%u", true);
     +          if (err)
     +                  pr_debug("Error writing feature-ctrl-ring\n");
     +  }

        backend_switch_state(be, XenbusStateInitWait);

     --
     2.23.3

Gentle ping.





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.