[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |