Messages in this thread | | | Date | Tue, 11 Jul 2006 11:02:08 +0200 | From | Rene Scharfe <> | Subject | Re: [PATCH] fdset's leakage |
| |
[strange loop snipped]
> That's going to take a long time to compute if nr > NR_OPEN. I just fixed > a similar infinite loop in this function.
That other fix looks buggy btw. Here it is:
- nfds = 8 * L1_CACHE_BYTES; - /* Expand to the max in easy steps */ - while (nfds <= nr) { - nfds = nfds * 2; - if (nfds > NR_OPEN) - nfds = NR_OPEN; - } + nfds = max_t(int, 8 * L1_CACHE_BYTES, roundup_pow_of_two(nfds)); + if (nfds > NR_OPEN) + nfds = NR_OPEN;
Surely you meant to say "roundup_pow_of_two(nr + 1)"?
René - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |