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

Reply via email to