Remove disabled CTL_LEGACY_STATS support.

It was not only disabled for quite a while, but also appeared to be broken
at r325517, when maximum number of ports was made configurable.

MFC after:	1 week
This commit is contained in:
Alexander Motin 2019-02-23 04:24:44 +00:00
parent c5235dce89
commit e806165bee
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=344480
3 changed files with 0 additions and 99 deletions

View File

@ -2743,39 +2743,6 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag,
#endif /* CTL_IO_DELAY */
break;
}
#ifdef CTL_LEGACY_STATS
case CTL_GETSTATS: {
struct ctl_stats *stats = (struct ctl_stats *)addr;
int i;
/*
* XXX KDM no locking here. If the LUN list changes,
* things can blow up.
*/
i = 0;
stats->status = CTL_SS_OK;
stats->fill_len = 0;
STAILQ_FOREACH(lun, &softc->lun_list, links) {
if (stats->fill_len + sizeof(lun->legacy_stats) >
stats->alloc_len) {
stats->status = CTL_SS_NEED_MORE_SPACE;
break;
}
retval = copyout(&lun->legacy_stats, &stats->lun_stats[i++],
sizeof(lun->legacy_stats));
if (retval != 0)
break;
stats->fill_len += sizeof(lun->legacy_stats);
}
stats->num_luns = softc->num_luns;
stats->flags = CTL_STATS_FLAG_NONE;
#ifdef CTL_TIME_IO
stats->flags |= CTL_STATS_FLAG_TIME_VALID;
#endif
getnanouptime(&stats->timestamp);
break;
}
#endif /* CTL_LEGACY_STATS */
case CTL_ERROR_INJECT: {
struct ctl_error_desc *err_desc, *new_err_desc;
@ -4758,17 +4725,6 @@ ctl_alloc_lun(struct ctl_softc *ctl_softc, struct ctl_lun *ctl_lun,
ctl_init_log_page_index(lun);
/* Setup statistics gathering */
#ifdef CTL_LEGACY_STATS
lun->legacy_stats.device_type = be_lun->lun_type;
lun->legacy_stats.lun_number = lun_number;
lun->legacy_stats.blocksize = be_lun->blocksize;
if (be_lun->blocksize == 0)
lun->legacy_stats.flags = CTL_LUN_STATS_NO_BLOCKSIZE;
lun->legacy_stats.ports = malloc(sizeof(struct ctl_lun_io_port_stats) *
ctl_max_ports, M_DEVBUF, M_WAITOK | M_ZERO);
for (len = 0; len < ctl_max_ports; len++)
lun->legacy_stats.ports[len].targ_port = len;
#endif /* CTL_LEGACY_STATS */
lun->stats.item = lun_number;
/*
@ -13079,21 +13035,6 @@ ctl_process_done(union ctl_io *io)
else
type = CTL_STATS_NO_IO;
#ifdef CTL_LEGACY_STATS
uint32_t targ_port = port->targ_port;
lun->legacy_stats.ports[targ_port].bytes[type] +=
io->scsiio.kern_total_len;
lun->legacy_stats.ports[targ_port].operations[type] ++;
lun->legacy_stats.ports[targ_port].num_dmas[type] +=
io->io_hdr.num_dmas;
#ifdef CTL_TIME_IO
bintime_add(&lun->legacy_stats.ports[targ_port].dma_time[type],
&io->io_hdr.dma_bt);
bintime_add(&lun->legacy_stats.ports[targ_port].time[type],
&bt);
#endif
#endif /* CTL_LEGACY_STATS */
lun->stats.bytes[type] += io->scsiio.kern_total_len;
lun->stats.operations[type] ++;
lun->stats.dmas[type] += io->io_hdr.num_dmas;

View File

@ -69,9 +69,6 @@
/* Hopefully this won't conflict with new misc devices that pop up */
#define CTL_MINOR 225
/* Legacy statistics accumulated for every port for every LU. */
//#define CTL_LEGACY_STATS 1
typedef enum {
CTL_DELAY_TYPE_NONE,
CTL_DELAY_TYPE_CONT,
@ -119,39 +116,6 @@ typedef enum {
CTL_STATS_FLAG_TIME_VALID = 0x01
} ctl_stats_flags;
#ifdef CTL_LEGACY_STATS
typedef enum {
CTL_LUN_STATS_NO_BLOCKSIZE = 0x01
} ctl_lun_stats_flags;
struct ctl_lun_io_port_stats {
uint32_t targ_port;
uint64_t bytes[CTL_STATS_NUM_TYPES];
uint64_t operations[CTL_STATS_NUM_TYPES];
struct bintime time[CTL_STATS_NUM_TYPES];
uint64_t num_dmas[CTL_STATS_NUM_TYPES];
struct bintime dma_time[CTL_STATS_NUM_TYPES];
};
struct ctl_lun_io_stats {
uint8_t device_type;
uint64_t lun_number;
uint32_t blocksize;
ctl_lun_stats_flags flags;
struct ctl_lun_io_port_stats *ports;
};
struct ctl_stats {
int alloc_len; /* passed to kernel */
struct ctl_lun_io_stats *lun_stats; /* passed to/from kernel */
int fill_len; /* passed to userland */
int num_luns; /* passed to userland */
ctl_stats_status status; /* passed to userland */
ctl_stats_flags flags; /* passed to userland */
struct timespec timestamp; /* passed to userland */
};
#endif /* CTL_LEGACY_STATS */
struct ctl_io_stats {
uint32_t item;
uint64_t bytes[CTL_STATS_NUM_TYPES];
@ -795,7 +759,6 @@ struct ctl_lun_map {
#define CTL_ENABLE_PORT _IOW(CTL_MINOR, 0x04, struct ctl_port_entry)
#define CTL_DISABLE_PORT _IOW(CTL_MINOR, 0x05, struct ctl_port_entry)
#define CTL_DELAY_IO _IOWR(CTL_MINOR, 0x10, struct ctl_io_delay_info)
#define CTL_GETSTATS _IOWR(CTL_MINOR, 0x15, struct ctl_stats)
#define CTL_ERROR_INJECT _IOWR(CTL_MINOR, 0x16, struct ctl_error_desc)
#define CTL_GET_OOA _IOWR(CTL_MINOR, 0x18, struct ctl_ooa)
#define CTL_DUMP_STRUCTS _IO(CTL_MINOR, 0x19)

View File

@ -403,9 +403,6 @@ struct ctl_lun {
struct callout ie_callout; /* INTERVAL TIMER */
struct ctl_mode_pages mode_pages;
struct ctl_log_pages log_pages;
#ifdef CTL_LEGACY_STATS
struct ctl_lun_io_stats legacy_stats;
#endif /* CTL_LEGACY_STATS */
struct ctl_io_stats stats;
uint32_t res_idx;
uint32_t pr_generation;