From 56536e9ce7c23bbc8519b8f99837493dea8da57d Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 12 Dec 2008 21:37:02 -0800 Subject: sfc: Provide hints to irqbalance daemon Allocate IRQs with the name format [-]- so that future versions of irqbalanced understand what we're doing. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller --- drivers/net/sfc/efx.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'drivers/net/sfc/efx.c') diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 2faaa965afc..bba11490ef4 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c @@ -356,6 +356,27 @@ static int efx_probe_channel(struct efx_channel *channel) } +static void efx_set_channel_names(struct efx_nic *efx) +{ + struct efx_channel *channel; + const char *type = ""; + int number; + + efx_for_each_channel(channel, efx) { + number = channel->channel; + if (efx->n_channels > efx->n_rx_queues) { + if (channel->channel < efx->n_rx_queues) { + type = "-rx"; + } else { + type = "-tx"; + number -= efx->n_rx_queues; + } + } + snprintf(channel->name, sizeof(channel->name), + "%s%s-%d", efx->name, type, number); + } +} + /* Channels are shutdown and reinitialised whilst the NIC is running * to propagate configuration changes (mtu, checksum offload), or * to clear hardware error conditions @@ -1002,6 +1023,7 @@ static int efx_probe_all(struct efx_nic *efx) goto fail3; } } + efx_set_channel_names(efx); return 0; @@ -1483,6 +1505,7 @@ static int efx_netdev_event(struct notifier_block *this, strcpy(efx->name, net_dev->name); efx_mtd_rename(efx); + efx_set_channel_names(efx); } return NOTIFY_DONE; @@ -1516,6 +1539,7 @@ static int efx_register_netdev(struct efx_nic *efx) return rc; } strcpy(efx->name, net_dev->name); + efx_set_channel_names(efx); return 0; } -- cgit v1.2.3