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

RE: [Xen-devel] [PATCH] HVM vcpu hotplug: Fix acpi method NTFY bug



Keir Fraser wrote:
> On 29/01/2010 07:32, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:
> 
>> suppose
>> x = scan loop number defined at method PRSC
>> y = scan loop number defined at method NTFY
>> in original way, there are 2 implicit precondition to make it work
>> right: 1). y = x 2). y = 2^n
>> however, these preconditions are not always be satisfied.
>> for example, if x > y, it will produce unexpected scan and block vcpu
>> add/remove.
> 
> Well, that didn't help. Some code comments would be handy.
> 
> Looking at method PRSC the algorithm seems pretty mad given we
> auto-generate the code. Apparently we *always* call NTFY for every
> value of 0<=Arg0<=127, in order? And then you would propose to do a
> further linear If chain within NTFY? Why not merge NTFY into PRSC: if
> you must have a linear scan anyway in PRSC, just unroll the while
> loops, and inline the relevant bit of NTFY for every unrolled loop
> invocation. 
> 
> And please provide some code comments relating this all back to the
> ACPI Spec, and explaining what the local variables represent, etc.
> It's totally impossible to understand right now. Although at least
> loop unrolling will get rid of several local variables...
> 
>  -- Keir
> 

Keir,

According to your suggestion, I plan to modify the patch as:
1. cancel method NTFY, merge it into method PRSC;
2. at method PRSC, only scan 'maxvcpus' times. we can transfer 'maxvcpus' 
(which comes from cmdline) from qemu to dsdt side through bios_info;
3. at mk_dsdt.c, add some comments to make it clear;
Do you think it OK?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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