[Devel] [PATCH 00/15] Statistics for vstorage kernel fast-path

Pavel Butsykin pbutsykin at virtuozzo.com
Wed May 22 11:20:08 MSK 2019


Konstantin,

Pls, rollback these patches I will send v2, this version degrades performance.

On 17.05.2019 16:20, Pavel Butsykin wrote:
> Vstorage provides plenty of statistics information via 'vstorage -c cl mnt-top',
> but when it comes kernel fast-path, it doesn't work. All because mnt-top
> command collects information from .vstorage.info directory, where vstorage-mount
> provides a lot of different statistical information in the form of files, but
> it was not implemented for for fast-path.
> 
> This patch-set is aimed to implementation of the support of some statistics
> inforamtion files from .vstorage.info:
>    cs_stats
>    fstat
>    fstat_lat
>    iostat
>    requests
> Which will be located at "/sys/fs/fuse/connections/*mnt_id*/kio_stat/". This
> will be enough to maintain vstorage mnt-top command for fast-path mount points.
> 
> Pavel Butsykin (15):
>    fs/fuse: add conn_ctl to fuse_conn struct
>    fs/fuse kio: create sysfs stat directory
>    fs/fuse kio: implement iostat
>    fs/fuse kio: make common interface pcs_kio_file_list() for listing kio files
>    fs/fuse kio: make common interface pcs_kio_req_list() for listing kio reqs
>    fs/fuse kio: add retry counter for kio requests
>    fs/fuse kio: implement pcs_strerror()
>    fs/fuse kio: implement requests statistics
>    fs/fuse kio: implement fstat statistics info
>    fs/fuse kio: implement fstat_lat statistics info
>    fs/fuse kio: remove useless pcs_cs initialization
>    fs/fuse kio: implement cs statistics accounting
>    fs/fuse kio: convert rpc state id to string
>    fs/fuse kio: implement cs_stats statistics info
>    fs/fuse kio: add locked cs_get_avg_in_flight()
> 
>   fs/fuse/Makefile                        |   3 +-
>   fs/fuse/control.c                       |   5 +-
>   fs/fuse/fuse_i.h                        |   1 +
>   fs/fuse/inode.c                         |   1 +
>   fs/fuse/kio/pcs/fuse_stat.c             | 715 ++++++++++++++++++++++++++++++++
>   fs/fuse/kio/pcs/fuse_stat.h             |  80 ++++
>   fs/fuse/kio/pcs/pcs_client_types.h      |   3 +
>   fs/fuse/kio/pcs/pcs_cluster.c           |   1 +
>   fs/fuse/kio/pcs/pcs_cluster.h           |  12 +-
>   fs/fuse/kio/pcs/pcs_cluster_core.c      |   3 +
>   fs/fuse/kio/pcs/pcs_cs.c                |  36 +-
>   fs/fuse/kio/pcs/pcs_cs.h                |   7 +-
>   fs/fuse/kio/pcs/pcs_error.h             |  83 +++-
>   fs/fuse/kio/pcs/pcs_fuse_kdirect.c      |  49 ++-
>   fs/fuse/kio/pcs/pcs_map.c               |   2 +
>   fs/fuse/kio/pcs/pcs_perfcounters.h      |  64 ++-
>   fs/fuse/kio/pcs/pcs_perfcounters_stub.h |  30 --
>   fs/fuse/kio/pcs/pcs_req.c               |   1 +
>   fs/fuse/kio/pcs/pcs_req.h               |  10 +
>   fs/fuse/kio/pcs/pcs_rpc.c               |  23 +
>   fs/fuse/kio/pcs/pcs_rpc.h               |   2 +
>   21 files changed, 1067 insertions(+), 64 deletions(-)
>   create mode 100644 fs/fuse/kio/pcs/fuse_stat.c
>   create mode 100644 fs/fuse/kio/pcs/fuse_stat.h
>   delete mode 100644 fs/fuse/kio/pcs/pcs_perfcounters_stub.h
> 



More information about the Devel mailing list