qemu/hw/9pfs
Christian Schoenebeck 62777d825b 9pfs: log warning if msize <= 8192
It is essential to choose a reasonable high value for 'msize' to avoid
severely degraded file I/O performance. This parameter can only be
chosen on client/guest side, and a Linux client defaults to an 'msize'
of only 8192 if the user did not explicitly specify a value for 'msize',
which results in very poor file I/O performance.

Unfortunately many users are not aware that they should specify an
appropriate value for 'msize' to avoid severe performance issues, so
log a performance warning (with a QEMU wiki link explaining this issue
in detail) on host side in that case to make it more clear.

Currently a client cannot automatically pick a reasonable value for
'msize', because a good value for 'msize' depends on the file I/O
potential of the underlying storage on host side, i.e. a feature
invisible to the client, and even then a user would still need to trade
off between performance profit and additional RAM costs, i.e. with
growing 'msize' (RAM occupation), performance still increases, but
performance delta will shrink continuously.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <e6fc84845c95816ad5baecb0abd6bfefdcf7ec9f.1599144062.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
2020-09-15 12:12:03 +02:00
..
9p-local.c virtio-9p: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
9p-local.h 9pfs: local: open/opendir: don't follow symlinks 2017-02-28 11:21:15 +01:00
9p-posix-acl.c 9pfs: local: lremovexattr: don't follow symlinks 2017-02-28 11:21:15 +01:00
9p-proxy.c 9p/proxy: Fix export_flags 2020-03-10 16:12:49 +01:00
9p-proxy.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
9p-synth.c hw/9pfs/9p-synth: added directory for readdir test 2020-02-08 09:29:04 +01:00
9p-synth.h hw/9pfs/9p-synth: added directory for readdir test 2020-02-08 09:29:04 +01:00
9p-util.c 9p: Move a couple xattr functions to 9p-util 2018-06-07 12:17:22 +02:00
9p-util.h 9pfs: local: ignore O_NOATIME if we don't have permissions 2020-05-14 08:06:43 +02:00
9p-xattr-user.c 9pfs: local: lremovexattr: don't follow symlinks 2017-02-28 11:21:15 +01:00
9p-xattr.c 9p: Move a couple xattr functions to 9p-util 2018-06-07 12:17:22 +02:00
9p-xattr.h 9pfs: fix XattrOperations typedef 2018-01-08 11:18:22 +01:00
9p.c 9pfs: log warning if msize <= 8192 2020-09-15 12:12:03 +02:00
9p.h 9pfs: differentiate readdir lock between 9P2000.u vs. 9P2000.L 2020-08-12 09:17:32 +02:00
codir.c 9pfs: add new function v9fs_co_readdir_many() 2020-08-12 09:17:32 +02:00
cofile.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
cofs.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
coth.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
coth.h 9pfs: clarify latency of v9fs_co_run_in_worker() 2020-08-12 09:17:32 +02:00
coxattr.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
Kconfig meson: convert hw/9pfs, cleanup 2020-08-21 06:30:33 -04:00
meson.build meson: convert hw/9pfs, cleanup 2020-08-21 06:30:33 -04:00
trace-events 9p: unsigned type for type, version, path 2019-10-10 11:36:04 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
virtio-9p-device.c Revert "9p: init_in_iov_from_pdu can truncate the size" 2020-05-25 11:45:38 +02:00
virtio-9p.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
xen-9p-backend.c xen/9pfs: increase max ring order to 9 2020-05-25 11:45:40 +02:00
xen-9pfs.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00