Re: [BUG 2.6.31-rc1] HIGHMEM64G causes hang in PCI init on 32-bitx86

From: H. Peter Anvin
Date: Tue Jun 30 2009 - 19:21:45 EST


Yinghai Lu wrote:
> Linus Torvalds wrote:
>> On Tue, 30 Jun 2009, Linus Torvalds wrote:
>>> I don't see any single-use trick then, and so it needs the whole statement
>>> expression mess.
>> Hmm. Does (((x)-1) | mask)+1) work?
>>
>> I haven't thought it fully through, but that _should_ take care of the
>> "already aligned" case, no?
>
> yes. that is right.
>
> then how about
> roundup(x,y)
> round_up(x,y)
>
> roundup doesn't need y is 2^n
> but round_up does need y is 2^n, and only for x86
>

We should definitely move whatever to global. However, I do think it is
valuable to have something that can avoid divides even if the argument
is not necessarily a constant.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/