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

Re: [Xen-devel] [PATCH 5 of 5 V2] tools/xl: Remus - Network buffering cmdline switch



On Thu, 2013-08-29 at 15:16 -0700, Shriram Rajagopalan wrote:
> @@ -418,6 +417,13 @@ Generally useful for debugging.
>  
>  Disable memory checkpoint compression.
>  
> +=item B<-n>
> +
> +Enable network output buffering.  The default script used to configure
> +network buffering is /etc/xen/scripts/remus-netbuf-setup. If you wish to
> +use a custom script, set the global variable "remus.default.netbufscript"
> +in /etc/xen/xl.conf to point to your script.

Is this not the sort of thing you might want to control on a per domain
basis? Or perhaps on a per- "xl remus" granularity?

> +
>  =item B<-s> I<sshcommand>
>  
>  Use <sshcommand> instead of ssh.  String will be passed to sh.
> diff -r b8839e0b61c2 -r 66e6a3c64566 tools/libxl/xl.c
> --- a/tools/libxl/xl.c        Thu Aug 29 14:50:01 2013 -0700
> +++ b/tools/libxl/xl.c        Thu Aug 29 15:06:47 2013 -0700
> @@ -46,6 +46,7 @@ char *default_vifscript = NULL;
>  char *default_bridge = NULL;
>  char *default_gatewaydev = NULL;
>  char *default_vifbackend = NULL;
> +char *default_remus_netbufscript = NULL;
>  enum output_format default_output_format = OUTPUT_FORMAT_JSON;
>  int claim_mode = 1;
>  
> @@ -177,6 +178,11 @@ static void parse_global_config(const ch
>      if (!xlu_cfg_get_long (config, "claim_mode", &l, 0))
>          claim_mode = l;
>  
> +    if (!xlu_cfg_get_string (config, "remus.default.netbufscript", &buf, 0)) 
> {
> +        free(default_remus_netbufscript);
> +        default_remus_netbufscript = strdup(buf);
> +    }

xlu_cfg_replace_string? I think the patterns you have copied predate
this function and/or were more copying which noone noticed.

(If you were feeling exceptionally keen you could update them all, not a
requirement though)

> +
>      xlu_cfg_destroy(config);
>  }
>  
> diff -r b8839e0b61c2 -r 66e6a3c64566 tools/libxl/xl.h
> --- a/tools/libxl/xl.h        Thu Aug 29 14:50:01 2013 -0700
> +++ b/tools/libxl/xl.h        Thu Aug 29 15:06:47 2013 -0700
> @@ -152,6 +152,7 @@ extern char *default_vifscript;
>  extern char *default_bridge;
>  extern char *default_gatewaydev;
>  extern char *default_vifbackend;
> +extern char *default_remus_netbufscript;
>  extern char *blkdev_start;
>  
>  enum output_format {
> diff -r b8839e0b61c2 -r 66e6a3c64566 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c        Thu Aug 29 14:50:01 2013 -0700
> +++ b/tools/libxl/xl_cmdimpl.c        Thu Aug 29 15:06:47 2013 -0700
> @@ -7070,8 +7070,9 @@ int main_remus(int argc, char **argv)
>      r_info.interval = 200;
>      r_info.blackhole = 0;
>      r_info.compression = 1;
> -
> -    SWITCH_FOREACH_OPT(opt, "bui:s:e", NULL, "remus", 2) {
> +    r_info.netbuf = 0;
> +
> +    SWITCH_FOREACH_OPT(opt, "buni:s:e", NULL, "remus", 2) {
>      case 'i':
>          r_info.interval = atoi(optarg);
>          break;
> @@ -7081,6 +7082,9 @@ int main_remus(int argc, char **argv)
>      case 'u':
>          r_info.compression = 0;
>          break;
> +    case 'n':
> +        r_info.netbuf = 1;
> +        break;
>      case 's':
>          ssh_command = optarg;
>          break;
> @@ -7092,6 +7096,11 @@ int main_remus(int argc, char **argv)
>      domid = find_domain(argv[optind]);
>      host = argv[optind + 1];
>  
> +    if (r_info.netbuf) {
> +        if (default_remus_netbufscript)
> +            r_info.netbufscript = strdup(default_remus_netbufscript);

Can netbufscript be const and then drop the strdup?

> +    }
> +
>      if (r_info.blackhole) {
>          send_fd = open("/dev/null", O_RDWR, 0644);
>          if (send_fd < 0) {
> @@ -7126,13 +7135,10 @@ int main_remus(int argc, char **argv)
>      /* Point of no return */
>      rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd, 0);
>  
> -    /* If we are here, it means backup has failed/domain suspend failed.
> -     * Try to resume the domain and exit gracefully.
> +    /* If we are here, it means remus setup/domain susppend/backup has

"suspend"

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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