i'm not clear on what the possible problem is here:Fsck, I can't see that. But if that is what's intended, well then...
On Fri, 16 Feb 2007, Richard Knutsson wrote:
Andreas Schwab wrote:
Richard Knutsson <ricknu-0@xxxxxxxxxxxxxx> writes:What about !one_or_less_bit()? It has not been implemented (yet?)
Andreas Schwab wrote:What else can it mean?
Richard Knutsson <ricknu-0@xxxxxxxxxxxxxx> writes:Yes, but is it meant to state that 'size' is not a power of two?
Vignesh Babu BM wrote:size == 0 is also covered by the next two conditions, so the overall value
@@ -175,7 +176,7 @@ static int __init hugetlb_setup_sz(char *str)As we talked about before; is this really correct? !is_power_of_2(0) ==
tr_pages = 0x15557000UL;
size = memparse(str, &str);
- if (*str || (size & (size-1)) || !(tr_pages & size) ||
+ if (*str || !is_power_of_2(size) || !(tr_pages & size) ||
size <= PAGE_SIZE ||
size >= (1UL << PAGE_SHIFT << MAX_ORDER)) {
printk(KERN_WARNING "Invalid huge page size specified\n");
true while (0 & (0-1)) == 0.
does not change.
but been discussed.
but whether or not it's been implemented doesn't change whether or not
the code above can be simplified. given what's being tested, and the
error message about whether a page size is valid, it seems fairly
clear that this is a power of two test. what's the problem?
Oh, I didn't mean that is_power_of_2() need to be fixed, I meant fixing/replacing the kernel with is_power_of_2().It ended by concluding that is_power_of_2() should be fixed up first
and then we can see about it.
there's nothing about is_power_of_2() that needs "fixing". it's
correct as it's currently implemented.