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

Konstantin Khorenko khorenko at virtuozzo.com
Wed May 22 15:10:32 MSK 2019


On 05/22/2019 11:20 AM, Pavel Butsykin wrote:
> Konstantin,
>
> Pls, rollback these patches I will send v2, this version degrades performance.

Reverted in rh7-3.10.0-957.12.2.vz7.96.3.

>
> 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