Linus Torvalds
a11e1d432b
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
...
The poll() changes were not well thought out, and completely
unexplained. They also caused a huge performance regression, because
"->poll()" was no longer a trivial file operation that just called down
to the underlying file operations, but instead did at least two indirect
calls.
Indirect calls are sadly slow now with the Spectre mitigation, but the
performance problem could at least be largely mitigated by changing the
"->get_poll_head()" operation to just have a per-file-descriptor pointer
to the poll head instead. That gets rid of one of the new indirections.
But that doesn't fix the new complexity that is completely unwarranted
for the regular case. The (undocumented) reason for the poll() changes
was some alleged AIO poll race fixing, but we don't make the common case
slower and more complex for some uncommon special case, so this all
really needs way more explanations and most likely a fundamental
redesign.
[ This revert is a revert of about 30 different commits, not reverted
individually because that would just be unnecessarily messy - Linus ]
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-28 10:40:47 -07:00
..
internal
crypto: simd - allow registering multiple algorithms at once
2018-03-03 00:03:17 +08:00
acompress.h
aead.h
crypto: aead - prevent using AEADs without setting key
2018-01-12 23:03:39 +11:00
aes.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
akcipher.h
algapi.h
crypto: api - laying defines and checks for statically allocated buffers
2018-04-21 00:58:32 +08:00
authenc.h
b128ops.h
blowfish.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast5.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast6.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast_common.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cbc.h
chacha20.h
crypto: chacha20 - Fix keystream alignment for chacha20_block()
2017-11-29 17:33:33 +11:00
cryptd.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
crypto_wq.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ctr.h
des.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dh.h
crypto: dh - return unsigned value for crypto_dh_key_len()
2017-10-12 22:55:05 +08:00
drbg.h
crypto: drbg - move to generic async completion
2017-11-03 22:11:19 +08:00
ecdh.h
crypto: ecdh - return unsigned value for crypto_ecdh_key_len()
2017-10-12 22:55:00 +08:00
engine.h
crypto: engine - Permit to enqueue all async requests
2018-02-15 23:26:50 +08:00
gcm.h
crypto: gcm - add GCM IV size constant
2017-09-22 17:43:08 +08:00
gf128mul.h
crypto: gf128mul - The x8_ble multiplication functions
2017-11-03 21:50:43 +08:00
ghash.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
hash.h
crypto: hash - Prevent use of req->result in ahash update
2018-03-16 23:35:52 +08:00
hash_info.h
hmac.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
if_alg.h
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
kpp.h
mcryptd.h
crypto: mcryptd - protect the per-CPU queue with a lock
2017-12-11 22:29:54 +11:00
md5.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
morus640_glue.h
crypto: morus - Add common SIMD glue code for MORUS
2018-05-19 00:15:18 +08:00
morus1280_glue.h
crypto: morus - Add common SIMD glue code for MORUS
2018-05-19 00:15:18 +08:00
morus_common.h
crypto: morus - Add generic MORUS AEAD implementations
2018-05-19 00:15:00 +08:00
null.h
crypto: null - Get rid of crypto_{get,put}_default_null_skcipher2()
2017-12-22 19:29:08 +11:00
padlock.h
pcrypt.h
pkcs7.h
poly1305.h
crypto: poly1305 - remove ->setkey() method
2018-01-12 23:03:14 +11:00
public_key.h
rng.h
scatterwalk.h
serpent.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sha.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sha1_base.h
sha3.h
crypto: sha3-generic - export init/update/final routines
2018-01-26 01:10:34 +11:00
sha256_base.h
sha512_base.h
skcipher.h
crypto: skcipher - prevent using skciphers without setting key
2018-01-12 23:03:39 +11:00
sm3.h
crypto: sm3 - add OSCCA SM3 secure hash
2017-09-22 17:43:07 +08:00
sm3_base.h
crypto: sm3 - add OSCCA SM3 secure hash
2017-09-22 17:43:07 +08:00
sm4.h
crypto: sm4 - export encrypt/decrypt routines to other drivers
2018-05-05 14:52:51 +08:00
speck.h
crypto: speck - export common helpers
2018-02-22 22:16:54 +08:00
twofish.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
vmac.h
xts.h
crypto: xts - remove xts_crypt()
2018-03-03 00:03:33 +08:00