Esempio n. 1
0
static void
iopoll_add_sysctl(struct sysctl_ctx_list *ctx, struct sysctl_oid_list *parent,
    struct iopoll_ctx *io_ctx, int poll_type)
{
	if (poll_type == IFPOLL_RX) {
		SYSCTL_ADD_PROC(ctx, parent, OID_AUTO, "burst_max",
		    CTLTYPE_UINT | CTLFLAG_RW, io_ctx, 0, sysctl_burstmax,
		    "IU", "Max Polling burst size");

		SYSCTL_ADD_PROC(ctx, parent, OID_AUTO, "each_burst",
		    CTLTYPE_UINT | CTLFLAG_RW, io_ctx, 0, sysctl_eachburst,
		    "IU", "Max size of each burst");

		SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "burst", CTLFLAG_RD,
		    &io_ctx->poll_burst, 0, "Current polling burst size");

		SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "user_frac", CTLFLAG_RW,
		    &io_ctx->user_frac, 0, "Desired user fraction of cpu time");

		SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "kern_frac", CTLFLAG_RD,
		    &io_ctx->kern_frac, 0, "Kernel fraction of cpu time");

		SYSCTL_ADD_INT(ctx, parent, OID_AUTO, "residual_burst", CTLFLAG_RD,
		    &io_ctx->residual_burst, 0,
		    "# of residual cycles in burst");
	}

	SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "phase", CTLFLAG_RD,
	    &io_ctx->phase, 0, "Polling phase");

	SYSCTL_ADD_ULONG(ctx, parent, OID_AUTO, "suspect", CTLFLAG_RW,
	    &io_ctx->suspect, "Suspected events");

	SYSCTL_ADD_ULONG(ctx, parent, OID_AUTO, "stalled", CTLFLAG_RW,
	    &io_ctx->stalled, "Potential stalls");

	SYSCTL_ADD_ULONG(ctx, parent, OID_AUTO, "short_ticks", CTLFLAG_RW,
	    &io_ctx->short_ticks,
	    "Hardclock ticks shorter than they should be");

	SYSCTL_ADD_ULONG(ctx, parent, OID_AUTO, "lost_polls", CTLFLAG_RW,
	    &io_ctx->lost_polls,
	    "How many times we would have lost a poll tick");

	SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "pending_polls", CTLFLAG_RD,
	    &io_ctx->pending_polls, 0, "Do we need to poll again");

	SYSCTL_ADD_UINT(ctx, parent, OID_AUTO, "handlers", CTLFLAG_RD,
	    &io_ctx->poll_handlers, 0, "Number of registered poll handlers");
}
Esempio n. 2
0
/*
 * Run things that can't be done as early as memguard_init().
 */
static void
memguard_sysinit(void)
{
	struct sysctl_oid_list *parent;

	parent = SYSCTL_STATIC_CHILDREN(_vm_memguard);

	SYSCTL_ADD_ULONG(NULL, parent, OID_AUTO, "mapstart", CTLFLAG_RD,
	    &memguard_base, "MemGuard KVA base");
	SYSCTL_ADD_ULONG(NULL, parent, OID_AUTO, "maplimit", CTLFLAG_RD,
	    &memguard_mapsize, "MemGuard KVA size");
#if 0
	SYSCTL_ADD_ULONG(NULL, parent, OID_AUTO, "mapused", CTLFLAG_RD,
	    &memguard_map->size, "MemGuard KVA used");
#endif
}
Esempio n. 3
0
static void mlx4_en_rate_limit_sysctl_stat(struct mlx4_en_priv *priv, int ring_id)
{
	struct mlx4_en_tx_ring *tx_ring;
	struct sysctl_ctx_list *ctx;
	struct sysctl_oid_list *head_node;
	struct sysctl_oid *ring_node;
	struct sysctl_oid_list *ring_list;
	char namebuf[128];

	tx_ring = priv->tx_ring[ring_id];
	ctx = &tx_ring->rl_data.rl_stats_ctx;
	snprintf(namebuf, sizeof(namebuf), "tx_ring%d", ring_id);
	head_node = SYSCTL_CHILDREN(priv->sysctl_stat);
	ring_node = SYSCTL_ADD_NODE(ctx, head_node, OID_AUTO, namebuf,
			CTLFLAG_RD, NULL, "TX Ring");
	ring_list = SYSCTL_CHILDREN(ring_node);
	SYSCTL_ADD_UINT(ctx, ring_list, OID_AUTO, "rate_limit_val",
			CTLFLAG_RD, &priv->rate_limits[tx_ring->rl_data.rate_index].rate, 0, "Rate Limit value");
	SYSCTL_ADD_ULONG(ctx, ring_list, OID_AUTO, "packets",
			CTLFLAG_RD, &tx_ring->packets, "TX packets");
	SYSCTL_ADD_ULONG(ctx, ring_list, OID_AUTO, "bytes",
			CTLFLAG_RD, &tx_ring->bytes, "TX bytes");
}