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

Re: [Xen-devel] page_alloc query

>>> "Jan Beulich" <jbeulich@xxxxxxxxxx> 07.03.07 10:09 >>>
>>>> Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> 07.03.07 09:27 >>>
>>On 6/3/07 22:10, "Ben Thomas" <bthomas@xxxxxxxxxxxxxxx> wrote:
>>> Why are the zones unsigned ints when they are used as indices ?
>>> The ASSERTS do checks to keep you out of some amount of
>>> trouble, but the loop appears to be able to get you quickly
>>> into trouble by driving the index negative and with a check
>>> that doesn't appear to be effective.
>>This is already fixed in the staging tree.
>Hmm, looking at that fix I doubt it helps - since zone_lo and zone_hi remain
>unsigned, my understanding would be that the signed zone is converted to
>unsigned before the comparison, hence nothing changes.
>And I really think using signed variables for array indices is odd - it 
>worse on x86-64/ia64 at least (because of the extra sign extension, whereas
>the zero extension is implied in most/some operations), and it certainly is
>contrary to how arrays work (they don't normally have fields accessible with
>negative indices).

e.g. by instead doing

        for ( zone = zone_hi + 1; zone-- > zone_lo; )


Xen-devel mailing list



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