diff options
| author | David Howells <[email protected]> | 2024-10-16 16:28:33 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2024-10-17 13:33:42 +0000 |
| commit | d6a77668a708f0b5ca6713b39c178c9d9563c35b (patch) | |
| tree | e52f1914eb0aa35b4ed7266988cb6b9511d0b5ab /drivers/fpga/tests | |
| parent | nilfs2: fix kernel bug due to missing clearing of buffer delay flag (diff) | |
| download | kernel-d6a77668a708f0b5ca6713b39c178c9d9563c35b.tar.gz kernel-d6a77668a708f0b5ca6713b39c178c9d9563c35b.zip | |
netfs: Downgrade i_rwsem for a buffered write
In the I/O locking code borrowed from NFS into netfslib, i_rwsem is held
locked across a buffered write - but this causes a performance regression
in cifs as it excludes buffered reads for the duration (cifs didn't use any
locking for buffered reads).
Mitigate this somewhat by downgrading the i_rwsem to a read lock across the
buffered write. This at least allows parallel reads to occur whilst
excluding other writes, DIO, truncate and setattr.
Note that this shouldn't be a problem for a buffered write as a read
through an mmap can circumvent i_rwsem anyway.
Also note that we might want to make this change in NFS also.
Signed-off-by: David Howells <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
cc: Steve French <[email protected]>
cc: Paulo Alcantara <[email protected]>
cc: Trond Myklebust <[email protected]>
cc: Jeff Layton <[email protected]>
cc: [email protected]
cc: [email protected]
cc: [email protected]
cc: [email protected]
Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'drivers/fpga/tests')
0 files changed, 0 insertions, 0 deletions
