On Fri, May 04, 2001 at 01:15:28PM +0400, Ivan Kokshaysky wrote:
> However, there are 3 reasons why I prefer 16-bit counters:
I assume you mean 32bit counter. (that gives max 2^16 sleepers)
> a. "max user processes" ulimit is much lower than 64K anyway;
the 2^16 limit is not a per-user limit it is a global one so the max
user process ulimit is irrelevant.
Only the number of pid and the max number of tasks supported by the
architecture is a relevant limit for this.
> b. "long" count would cost extra 8 bytes in the struct rw_semaphore;
correct but that's the "feature" to be able to support 2^32 concurrent
sleepers at not relevant runtime cost 8).
> c. I can use existing atomic routines which deal with ints.
I was thinking at a dedicated routine that implements the slow path by
hand as well like x86 just do. Then using ldq instead of ldl isn't
really a big deal programmer wise.
Andrea
-
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/
This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:20 EST