]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r311804: Rewrite CTL statistics in more simple and scalable way.
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 26 Jan 2017 21:00:49 +0000 (21:00 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 26 Jan 2017 21:00:49 +0000 (21:00 +0000)
commitd925429efd0bd410246d34d00b6f8444ff93e807
treefe523c65c0b5f09e39a11dcbca403c759e10f1e5
parent9f8a14506eaeb7796f11f9d09f909c2a3917fe0b
MFC r311804: Rewrite CTL statistics in more simple and scalable way.

Instead of collecting statistics for each combination of ports and logical
units, that consumed ~45KB per LU with present number of ports, collect
separate statistics for every port and every logical unit separately, that
consume only 176 bytes per each single LU/port.  This reduces struct
ctl_lun size down to just 6KB.

Also new IOCTL API/ABI does not hardcode number of LUs/ports, and should
allow handling of very large quantities.

Old API is still enabled in stable branches for compatibility reasons.

git-svn-id: svn://svn.freebsd.org/base/stable/10@312841 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/cam/ctl/ctl.c
sys/cam/ctl/ctl_backend.h
sys/cam/ctl/ctl_frontend.c
sys/cam/ctl/ctl_frontend.h
sys/cam/ctl/ctl_ioctl.h
sys/cam/ctl/ctl_private.h
usr.bin/ctlstat/ctlstat.8
usr.bin/ctlstat/ctlstat.c