Andreas Schwab wrote:
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 <ricknu-0@xxxxxxxxxxxxxx> writes:Andreas Schwab wrote:Richard Knutsson <ricknu-0@xxxxxxxxxxxxxx> writes:Vignesh Babu BM wrote:@@ -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?
Richard Knutsson - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |