All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH]xl: Some small fixes to xl
Date: Mon, 24 May 2010 08:48:46 +0800	[thread overview]
Message-ID: <4BF9CCEE.9010300@cn.fujitsu.com> (raw)
In-Reply-To: <4BF6DE1D.6070904@goop.org>

Hi jeremy,

Thank you for your review.

On 05/22/2010 03:25 AM, Jeremy Fitzhardinge wrote:
> On 05/21/2010 12:01 AM, Yang Hongyang wrote:
>> The patch fixes following problems:
>> -When use mem-set, I got suspicious error output:
>>  # xl mem-set 1 256g
>>  setting domid 1 memory to : 268435456
>>  [0] libxl.c:2535:libxl_set_memory_target: memory_dynamic_max must be less than or equal to memory_static_max
>>  : Success
>> -parse_mem_size_kb() returns type int64_t
>> -String generated by strdup() should be freed
>> -When using 'xl help', mem-max and mem-set's output is not as intend, and it's also
>>  breaks bash completion, fix it.
>>
>> diff -r 840f269d95fb tools/libxl/libxl.c
>> --- a/tools/libxl/libxl.c	Wed May 19 22:59:52 2010 +0100
>> +++ b/tools/libxl/libxl.c	Fri May 21 22:56:02 2010 +0800
...snip...
>>      }
>>  
>> -    printf("setting domid %d memory to : %lld\n", domid, memorykb);
>> +    printf("setting domid %d memory to : %ld\n", domid, memorykb);
>>   
> 
> This is wrong; "int64_t" isn't necessarily long.  What was wrong with
> the previous version?

There's a problem. libxl_set_memory_target() takes memorykb as uint32_t,
so, if you want set as 'long long int', you should also modify this lib
function I think.
For this reason, when I set the memory to 100t, libxl_set_memory_target()
will take the memorykb as 0...

> 
>     J
> 
>>      libxl_set_memory_target(&ctx, domid, memorykb, /* enforce */ 1);
>>  }
>>  
>> @@ -3644,7 +3644,8 @@
>>      int fd;
>>      char buf[512];
>>      uint32_t uptime = 0;
>> -    char *uptime_str = 0;
>> +    char *uptime_str = NULL;
>> +    char *now_str = NULL;
>>  
>>      fd = open("/proc/uptime", O_RDONLY);
>>      if (fd == -1)
>> @@ -3661,9 +3662,10 @@
>>  
>>      if (short_mode)
>>      {
>> +        now_str = current_time_to_string(now);
>>          uptime_str = uptime_to_string(uptime, 1);
>> -        printf(" %s up %s, %s (%d)\n", current_time_to_string(now),
>> -               uptime_str, libxl_domid_to_name(&ctx, 0), 0);
>> +        printf(" %s up %s, %s (%d)\n", now_str, uptime_str,
>> +               libxl_domid_to_name(&ctx, 0), 0);
>>      }
>>      else
>>      {
>> @@ -3672,6 +3674,8 @@
>>                 0, uptime_str);
>>      }
>>  
>> +    if (now_str)
>> +        free(now_str);
>>      if (uptime_str)
>>          free(uptime_str);
>>      return;
>> @@ -3684,7 +3688,8 @@
>>  {
>>      uint32_t s_time = 0;
>>      uint32_t uptime = 0;
>> -    char *uptime_str = 0;
>> +    char *uptime_str = NULL;
>> +    char *now_str = NULL;
>>  
>>      s_time = libxl_vm_get_start_time(&ctx, domuid);
>>      if (s_time == -1)
>> @@ -3692,9 +3697,10 @@
>>      uptime = now - s_time;
>>      if (short_mode)
>>      {
>> +        now_str = current_time_to_string(now);
>>          uptime_str = uptime_to_string(uptime, 1);
>> -        printf(" %s up %s, %s (%d)\n", current_time_to_string(now),
>> -               uptime_str, libxl_domid_to_name(&ctx, domuid), domuid);
>> +        printf(" %s up %s, %s (%d)\n", now_str, uptime_str,
>> +               libxl_domid_to_name(&ctx, domuid), domuid);
>>      }
>>      else
>>      {
>> @@ -3703,6 +3709,8 @@
>>                 domuid, uptime_str);
>>      }
>>  
>> +    if (now_str)
>> +        free(now_str);
>>      if (uptime_str)
>>          free(uptime_str);
>>      return;
>> diff -r 840f269d95fb tools/libxl/xl_cmdtable.c
>> --- a/tools/libxl/xl_cmdtable.c	Wed May 19 22:59:52 2010 +0100
>> +++ b/tools/libxl/xl_cmdtable.c	Fri May 21 22:56:02 2010 +0800
>> @@ -110,17 +110,13 @@
>>      },
>>      { "mem-max",
>>        &main_memmax,
>> -      "Set the maximum amount reservation for a domain.\n"
>> -      "Units default to kilobytes, but can be suffixed with\n"
>> -      "'b' (bytes), 'k' (KB), 'm' (MB), 'g' (GB) or 't' (TB)",
>> -      "<Domain> <MemKB>",
>> +      "Set the maximum amount reservation for a domain",
>> +      "<Domain> <MemKB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
>>      },
>>      { "mem-set",
>>        &main_memset,
>> -      "Set the current memory usage for a domain.\n"
>> -      "Units default to kilobytes, but can be suffixed with\n"
>> -      "'b' (bytes), 'k' (KB), 'm' (MB), 'g' (GB) or 't' (TB)",
>> -      "<Domain> <MemKB>",
>> +      "Set the current memory usage for a domain",
>> +      "<Domain> <MemKB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
>>      },
>>      { "button-press",
>>        &main_button_press,
>>
>>   
> 
> 
> 


-- 
Regards
Yang Hongyang

  reply	other threads:[~2010-05-24  0:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21  7:01 [PATCH]xl: Some small fixes to xl Yang Hongyang
2010-05-21 14:26 ` Keir Fraser
2010-05-26  0:55   ` Yang Hongyang
2010-05-21 19:25 ` Jeremy Fitzhardinge
2010-05-24  0:48   ` Yang Hongyang [this message]
2010-05-24  9:16     ` Stefano Stabellini
2010-05-24 10:24       ` Ian Jackson
2010-05-24 10:31         ` Stefano Stabellini
2010-05-24 17:32           ` Jeremy Fitzhardinge
2010-05-26  1:02       ` Yang Hongyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BF9CCEE.9010300@cn.fujitsu.com \
    --to=yanghy@cn.fujitsu.com \
    --cc=jeremy@goop.org \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.