For your inspection: small id pool
authorRon Minnich <rminnich@google.com>
Mon, 26 Jan 2015 23:40:55 +0000 (15:40 -0800)
committerRon Minnich <rminnich@google.com>
Mon, 26 Jan 2015 23:40:55 +0000 (15:40 -0800)
commitaaa7e62baccfd841c0eac698e870f1c4bf9b642d
treea45298e652c796ced305f2e31ff7cdef6e982b55
parentba221d4d8376b5c795082d3644399a63765ec44b
For your inspection: small id pool

This is a stack and it's about 30 times faster than the current
tag allocator used in devmnt (yes, 30).

It could be used for any id pool that's less than 64K, including
VPID and the 16-bit tags used in VMID.

I doubt I need to use the first element of the array as a top of
stack, that's a little too cute maybe, but not returning element
0 is a good idea, that is reserved in many situation SUCH AS
vpid and so on.

Can we do some sort of ACAS on the TOS in such a way that it never
increments beyond 0xfffe?

Comments appreciated.

Signed-off-by: Ron Minnich <rminnich@google.com>
kern/drivers/dev/mnt.c
kern/include/smallidpool.h [new file with mode: 0644]
kern/kfs/ifconfig
kern/src/kmalloc.c
kern/src/monitor.c
kern/src/ns/chan.c
kern/src/smallidpool.c [new file with mode: 0644]