On Tue, 17 Apr 2001 12:48:48 -0700 (PDT) Linus Torvalds wrote: [deletia] > /* > * a fast semaphore is a 128-byte opaque thing, > * aligned on a 128-byte boundary. This is partly > * to minimize false sharing in the L1 (we assume > * that 128-byte cache-lines are going to be fairly > * common), but also to allow the kernel to hide > * data there > */ > struct fast_semaphore { > unsigned int opaque[32]; > } __attribute__((aligned, 64)); > > struct fast_semaphore *FS_create(char *ID); > int FS_down(struct fast_semaphore *, unsigned long timeout); > void FS_up(struct fast_semaphore *); [deletia] These are counting semaphores, right? If so, would this make sense? struct fast_semaphore *FS_create(char *ID, int initial_count); [FS_down/FS_up the same] int FS_get_count(struct fast_semaphore *); The FS_get_count() is less useful, but being able to pass the initial count to the semaphore is pretty important. --George
begin:vcard n:Talbot;George tel;fax:732-615-4526 tel;work:732-615-5099 x-mozilla-html:FALSE org:Lucent, Inc.;Inter-Networking Systems adr:;;480 Red Hill Road, Building 1;Middletown;NJ;07748;USA version:2.1 email;internet:[EMAIL PROTECTED] title:Senior Software Engineer x-mozilla-cpt:;0 fn:George Talbot end:vcard