Re: [KJ] [PATCH] is_power_of_2 in ia64mm
From: Richard Knutsson <hidden>
Date: 2007-02-16 16:40:25
Also in:
kernel-janitors, lkml
Andreas Schwab wrote:
Richard Knutsson [off-list ref] writes:quoted
Andreas Schwab wrote:quoted
Richard Knutsson [off-list ref] writes:quoted
Vignesh Babu BM wrote:quoted
@@ -175,7 +176,7 @@ static int __init hugetlb_setup_sz(char *str) 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");As we talked about before; is this really correct? !is_power_of_2(0) == true while (0 & (0-1)) == 0.size == 0 is also covered by the next two conditions, so the overall value does not change.Yes, but is it meant to state that 'size' is not a power of two?What else can it mean?
What about !one_or_less_bit()? It has not been implemented (yet?) but been discussed. It ended by concluding that is_power_of_2() should be fixed up first and then we can see about it. And as I stated before; !is_power_of_2(size) != (size & (size-1))! It may be a bug but then we have to be sure it is suppose to be the power of 2. Richard Knutsson -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>