Re: [Xen-devel] [PATCH] xen/balloon: don't online new memory initially

From: Juergen Gross
Date: Mon Jul 03 2017 - 12:17:06 EST

On 03/07/17 18:11, Jan Beulich wrote:
>>>> On 03.07.17 at 17:40, <jgross@xxxxxxxx> wrote:
>> --- a/drivers/xen/xen-balloon.c
>> +++ b/drivers/xen/xen-balloon.c
>> @@ -59,6 +59,8 @@ static void watch_target(struct xenbus_watch *watch,
>> {
>> unsigned long long new_target;
>> int err;
>> + static bool watch_fired;
>> + static unsigned long target_diff;
> It would seem to me that the types of target_diff and new_target
> should match in width, but differ in signedness.

The different width is on purpose: new_target is in kB, so it could
exceed the max page count on 32 bit systems (not that it would matter
as a guest of that size isn't possible). target_diff is a page count
so it will always fit into a long int.

Regarding signedness you are right. I probably should switch to long
for target_diff.