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