Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jun 1999 19:19:18 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Terry Lambert <tlambert@primenet.com>, bright@rush.net (Alfred Perlstein), smp@FreeBSD.ORG, tlambert@primenet.com
Subject:   Re: async call gates
Message-ID:  <199907010219.TAA42502@apollo.backplane.com>
References:  <199907010100.SAA13352@usr09.primenet.com> <199907010154.SAA42283@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:    So in my embedded OS I had a domsg() and a sendmsg() API.  The user 
:    process constructs the message and calls one or the other entry point.
:    If the user requested a synchronous call AND the device happens to run 
:    the request synchronously, the OS doesn't bother even queueing the 
:    message up to the device.  It calls the device entry, sees that the
:    device ran the message synchronously, and returns.  The result is an
:    operation that runs just as quickly as a normal system call might since
:    the added complexity of queueing and dequeueing the message just doesn't
:    happen.

    Plus it would be fairly easy to make the message-entry itself SMP-capable
    (i.e. allow several threads to attempt to sendmsg() the same message
    simultaniously, in which one succeeds and the other fails due to the 
    message being in-progress.  This would be useful for dispatching 
    software interrupts).

						    -Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907010219.TAA42502>