POSIX aio vs completion ports

John Gardiner Myers (jgmyers@netscape.com)
Sat, 11 Sep 1999 21:26:47 -0700


This is a cryptographically signed message in MIME format.

--------------ms434B8E36F30B7D6DB9731828
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Alan Cox wrote:
> POSIX real time signal queues are effectively completion ports.

You must not have understood the post you were replying to. POSIX real
time signal queues are inferior to completion ports in many ways.

* As far as I know, there is no way to allocate a POSIX real time signal
number in a thread safe manner. There is no equivalent to the socket()
system call--one must just pick a number and hope that no other thread
in the same process just picked the same number.

* Chuck Lever informs me that the signal queue might overflow, leading
to lost completion notifications. There is no reasonable way for an
application to recover from such a condition.

* POSIX aio lacks a mechanism to request read polls. With completion
ports, one may request an asynchronous read of 0 bytes--the completion
is delivered when there is data to be read. Implementations of POSIX
aio cause an aio_read() of 0 bytes to complete immediately, a useless
semantic.

* POSIX aio lacks asynchronous versions of writev() and sendfile().
(Though the lack of an aio_writev() is made less important by TCP_CORK.)
--------------ms434B8E36F30B7D6DB9731828
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIIITgYJKoZIhvcNAQcCoIIIPzCCCDsCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC
BiEwggLUMIICPaADAgECAgIA2zANBgkqhkiG9w0BAQQFADCBkzELMAkGA1UEBhMCVVMxCzAJ
BgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRswGQYDVQQKExJBbWVyaWNhIE9u
bGluZSBJbmMxGTAXBgNVBAsTEEFPTCBUZWNobm9sb2dpZXMxJzAlBgNVBAMTHkludHJhbmV0
IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw05OTA2MTYyMjE2MTBaFw05OTEyMTMyMjE2MTBa
MIGCMRMwEQYKCZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIbmV0c2NhcGUxIzAh
BgkqhkiG9w0BCQEWFGpnbXllcnNAbmV0c2NhcGUuY29tMRMwEQYDVQQDEwpKb2huIE15ZXJz
MRcwFQYKCZImiZPyLGQBARMHamdteWVyczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
uOdKuI9bAK274dB6KSMtdvM48YyQ1N5qTAoFSIBb9wZWctiAfo0ynJFP4fYBK3KmTN99A7/x
Uvu/3TJ/WoHg3P16gHEBtP31PPD2qv0LWm+V6W3fJbyOeempBnF3nAtUXPEqdQwQsKcbeiqC
j7O+ERlfhMJfd+5rjJ9R7yuSs18CAwEAAaNGMEQwEQYJYIZIAYb4QgEBBAQDAgSwMA4GA1Ud
DwEB/wQEAwIEsDAfBgNVHSMEGDAWgBSiO2Uy9/cbifxVDQcBvIdIWv2QPTANBgkqhkiG9w0B
AQQFAAOBgQCqiRVQqw0adt0ufuWq6iMoG+Z8CcFKRibSFi9xJo/XBX26+ZutK04cTgA9k3O8
hnCRoMBH9CXzcl2XN0hd91OeOoWu7VDEI+3Dbvv0Gs2QEiJndXnm/008fcS7rSu5eb51mosr
ihF6HGWduZQTeewgz6f9UkEMMIIeQBho2ompvDCCA0UwggKuoAMCAQICAScwDQYJKoZIhvcN
AQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT
CUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRp
ZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG
cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNv
bTAeFw05OTA2MDMyMjAwMzRaFw0wMTA2MDIyMjAwMzRaMIGTMQswCQYDVQQGEwJVUzELMAkG
A1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxGzAZBgNVBAoTEkFtZXJpY2EgT25s
aW5lIEluYzEZMBcGA1UECxMQQU9MIFRlY2hub2xvZ2llczEnMCUGA1UEAxMeSW50cmFuZXQg
Q2VydGlmaWNhdGUgQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi718s
dkOJSxpfs+X4qm+LL4FNZ/+9Sg9jLsTchfaeLEkmIP8AF+SIiGne/YNX4KMRGRGq1ty877PS
FS5Uxm58v9m5w0bTCQWE5VNcSO2EhZoOOz0WB1zws3mrmhClvMGk0XhMBuVkQfwFJWMm6+8M
x25UoYzOVFe2H5LashJLjQIDAQABo2kwZzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQW
MBQGCCsGAQUFBwMEBggrBgEFBQcDAjARBglghkgBhvhCAQEEBAMCAQIwHwYDVR0jBBgwFoAU
cknCczTGVfQLdnKBfnf0h+fGsg4wDQYJKoZIhvcNAQEEBQADgYEAulB9/ACy/0G0Bwg5DCH0
WUkXCMyO088MVvFv6AsaaWLrBoJbaawdhCcGOckOfjUT0H7Aj5xYfAMxLIcQ1WI7cNUOsWSA
NE5Z+sZZ5kbeTmgIdUD1HYwp1q53rck9aeRAjUSXRm++esBYpLEfaqcPKVGKgQ0pjp3kDzML
j40kPewxggH1MIIB8QIBATCBmjCBkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYD
VQQHEw1Nb3VudGFpbiBWaWV3MRswGQYDVQQKExJBbWVyaWNhIE9ubGluZSBJbmMxGTAXBgNV
BAsTEEFPTCBUZWNobm9sb2dpZXMxJzAlBgNVBAMTHkludHJhbmV0IENlcnRpZmljYXRlIEF1
dGhvcml0eQICANswCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
CSqGSIb3DQEJBTEPFw05OTA5MTIwNTI2NDdaMCMGCSqGSIb3DQEJBDEWBBQbsOvm8odSVdv0
wADnFm92MUEq0jBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIA
gDAHBgUrDgMCBzANBggqhkiG9w0DAgIBQDANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEF
AASBgG3WS4v4QqtHOWH/x9OwZHsZ0aA0aIyAPkmApeQP3EZ3s93BFb/sNM3Y3lfdd1a9zZqs
cj0by9IUXZ/h+MfwZRxhJzff5gXTwhB4Hwck20bLoenSKDlOYBj2Vsm8EEW+BUX1opFCADR/
kJee6XqyEET3rw2qV+D4Vj54tORFGnaL
--------------ms434B8E36F30B7D6DB9731828--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/