disabling NAPI poll

From: Aritz Bastida
Date: Mon Nov 21 2005 - 15:56:20 EST


Hello everybody.

What I need is to turn off and on the polling done to a network device
which works with NAPI. I'll explain: the network driver issues
netif_rx_schedule() and inserts itself in that cpu's poll_list. But,
transparently, in higher-layer kernel code, that device could be
extracted from that poll_list (if the machine is in congestion, that's
the research i'm doing) and added again later.

To do that, I guess I could just remove the device from the poll_list
and add it again when needed, but then the cpu in which I'm doing this
could be different from the previous (if in SMP context), right?
Anyway, if this is what I have to do, I could just access
per_cpu(softnet_data, cpu), but I guess a lock is required for that
(because I am accessing the info for another cpu). In that case, what
lock?

I've looking if there is any function for that purpose, and found
netif_poll_enable/disable, but I couln't find any information that
explains what it is for and the purpose of the bit
__LINK_STATE_RX_SCHED. Anyone can tell?

Thank you.
Regards

Aritz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/