Keir Fraser wrote:
> On 27/01/2010 05:33, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:
>
>> HVM vcpu hotplug: Fix acpi method NTFY bug
>>
>> Cancel define method NTFY by using decision_tree, it will block vcpu
>> add and result in other unpredicted error. The second reason is
>> method NTFY is not key path and no necessary using complicated
>> decision_tree to reduce scan time. The third reason is, the scan
>> loop defined by method PRSC is not necessary equal to the scan loop
>> defined by method NTFY, and not necessary equal to 2^n.
>>
>> Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
>
> You'll have to point out how this fixes the NTFY method I'm afraid --
> the two methods look exactly equivalent to me, except the existing
> method should on average execute with far fewer compares, and hence
> looks preferable.
>
> And please don't send updates to dsdt.c in patches which update DSDT.
> I always re-generate it myself anyway, and it makes your patch 1000x
> bigger.
>
> -- Keir
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.
BTW, decision_tree() is too complicated to understand. it's used to produce
dsdt.dsl middle code.
people need spend much time to image what's the temporary dsdt.dsl middle code
like.
this is not good for maintain and debug.
for this reason, I'd like to change it back to normal for() loop, easy to
understand and maintain.
(it's correct that decision_tree() will reduce scan loop greatly, for example,
128 vcpus scan number will reduce from 64 to 7 times avg, however, it's not
important since this code is not key path, seldom used).
Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|