forked from Minki/linux
98e2474640
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmLkm7UQHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpldTEADTg/96R+eq78UZBNZmdifY9/qwQD+kzNiK ACDoYZFSbWUjMeOWqRxbYr6mXBKHnGHyTGlraTTpLDzhpB1xwoWfgOK9uOYXW/Ik eWfgTujPW/8v/l/z86khE+GH9b/maGCRqNZgS6uLVLzhxG6oCkoYTyOh1iHaF1VM Rma4nbJ8GSEDtiXNDl0Bznnyks/pzwoz/9slwzZ7PxtFwZsBxKuxgMUR5HIXdRp7 5iUoFJhZrGWyi/dbQZUsK/9VYVVnKkcBCz2pb4GEmC+3dS/vlPEoeWUpPHInNyd1 9NB9v8c+KFmQaWnCxuxcdHvCfmRRQrX8Pr8/OBNZKO6McYrKWKA+lurp4EGClE3m cZdK+P/9FS/Eeua8hum9UnbPAqsJPqLTbpbrySeBdd4iFA6u7rRqDX2+nz3PNe9U 1b7V1bWBIEY/Rsw/PKo59oIeV0auD8v9OCHJ0lF2pv6dRln2/W0y1Qfd1DI18xFG +9bBnQzhF7R0O8UP5ApVayQCYrd906YsSVUOqAiLmUs/BoOgRq6g/0BqSOVVKE2u 5iq8zTsVMkxY0ZpExwZST/700JwkPIV4SVPEYRC6QssFTcylvlisIek6XYSS9HX4 Z6gzMwJW1H47bEfG4JolTI8uBjp0hQLCPX0O0XFLVnbHQwN0kjIBmv3axAwJO2NV qrrHXjf09w== =hV7G -----END PGP SIGNATURE----- Merge tag 'for-5.20/io_uring-buffered-writes-2022-07-29' of git://git.kernel.dk/linux-block Pull io_uring buffered writes support from Jens Axboe: "This contains support for buffered writes, specifically for XFS. btrfs is in progress, will be coming in the next release. io_uring does support buffered writes on any file type, but since the buffered write path just always -EAGAIN (or -EOPNOTSUPP) any attempt to do so if IOCB_NOWAIT is set, any buffered write will effectively be handled by io-wq offload. This isn't very efficient, and we even have specific code in io-wq to serialize buffered writes to the same inode to avoid further inefficiencies with thread offload. This is particularly sad since most buffered writes don't block, they simply copy data to a page and dirty it. With this pull request, we can handle buffered writes a lot more effiently. If balance_dirty_pages() needs to block, we back off on writes as indicated. This improves buffered write support by 2-3x. Jan Kara helped with the mm bits for this, and Stefan handled the fs/iomap/xfs/io_uring parts of it" * tag 'for-5.20/io_uring-buffered-writes-2022-07-29' of git://git.kernel.dk/linux-block: mm: honor FGP_NOWAIT for page cache page allocation xfs: Add async buffered write support xfs: Specify lockmode when calling xfs_ilock_for_iomap() io_uring: Add tracepoint for short writes io_uring: fix issue with io_write() not always undoing sb_start_write() io_uring: Add support for async buffered writes fs: Add async write file modification handling. fs: Split off inode_needs_update_time and __file_update_time fs: add __remove_file_privs() with flags parameter fs: add a FMODE_BUF_WASYNC flags for f_mode iomap: Return -EAGAIN from iomap_write_iter() iomap: Add async buffered write support iomap: Add flags parameter to iomap_page_create() mm: Add balance_dirty_pages_ratelimited_flags() function mm: Move updates of dirty_exceeded into one place mm: Move starting of background writeback into the main balancing loop |
||
---|---|---|
.. | ||
9p.h | ||
afs.h | ||
alarmtimer.h | ||
asoc.h | ||
avc.h | ||
bcache.h | ||
block.h | ||
bpf_test_run.h | ||
bridge.h | ||
btrfs.h | ||
cachefiles.h | ||
cgroup.h | ||
clk.h | ||
cma.h | ||
compaction.h | ||
context_tracking.h | ||
cpuhp.h | ||
damon.h | ||
devfreq.h | ||
devlink.h | ||
dlm.h | ||
dma_fence.h | ||
erofs.h | ||
error_report.h | ||
ext4.h | ||
f2fs.h | ||
fib6.h | ||
fib.h | ||
filelock.h | ||
filemap.h | ||
fs_dax.h | ||
fs.h | ||
fscache.h | ||
fsi_master_aspeed.h | ||
fsi_master_ast_cf.h | ||
fsi_master_gpio.h | ||
fsi.h | ||
gpio.h | ||
gpu_mem.h | ||
host1x.h | ||
huge_memory.h | ||
hwmon.h | ||
i2c_slave.h | ||
i2c.h | ||
ib_mad.h | ||
ib_umad.h | ||
initcall.h | ||
intel_ifs.h | ||
intel_iommu.h | ||
intel_ish.h | ||
intel-sst.h | ||
io_uring.h | ||
iocost.h | ||
iommu.h | ||
ipi.h | ||
irq_matrix.h | ||
irq.h | ||
iscsi.h | ||
jbd2.h | ||
kmem.h | ||
kvm.h | ||
kyber.h | ||
libata.h | ||
lock.h | ||
mce.h | ||
mctp.h | ||
mdio.h | ||
migrate.h | ||
mlxsw.h | ||
mmap_lock.h | ||
mmap.h | ||
mmc.h | ||
mmflags.h | ||
module.h | ||
mptcp.h | ||
napi.h | ||
nbd.h | ||
neigh.h | ||
net_probe_common.h | ||
net.h | ||
netfs.h | ||
netlink.h | ||
nfs.h | ||
nilfs2.h | ||
nmi.h | ||
objagg.h | ||
oom.h | ||
osnoise.h | ||
page_isolation.h | ||
page_pool.h | ||
page_ref.h | ||
pagemap.h | ||
percpu.h | ||
power_cpu_migrate.h | ||
power.h | ||
preemptirq.h | ||
printk.h | ||
pwc.h | ||
pwm.h | ||
qdisc.h | ||
qla.h | ||
qrtr.h | ||
rcu.h | ||
rdma_core.h | ||
rdma.h | ||
regulator.h | ||
rpcgss.h | ||
rpcrdma.h | ||
rpm.h | ||
rseq.h | ||
rtc.h | ||
rxrpc.h | ||
sched.h | ||
scmi.h | ||
scsi.h | ||
sctp.h | ||
signal.h | ||
siox.h | ||
skb.h | ||
smbus.h | ||
sock.h | ||
spi.h | ||
spmi.h | ||
sunrpc_base.h | ||
sunrpc.h | ||
sunvnet.h | ||
swiotlb.h | ||
syscalls.h | ||
target.h | ||
task.h | ||
tcp.h | ||
tegra_apb_dma.h | ||
thermal_power_allocator.h | ||
thermal_pressure.h | ||
thermal.h | ||
thp.h | ||
timer.h | ||
tlb.h | ||
udp.h | ||
ufs.h | ||
v4l2.h | ||
vb2.h | ||
vmscan.h | ||
vsock_virtio_transport_common.h | ||
wbt.h | ||
workqueue.h | ||
writeback.h | ||
xdp.h | ||
xen.h |