Click is a modular software router developed by MIT. Since router is a dedicated network traffice processor, polling can be introduced to reduce the overhead of interrupt. Once click runs, it will continuously polling the Nic interface, get packets and process it, send it out from selected interface.
Compared to NAPI, click polling will disable Nic interrupts during its operation, even there is no any packets in the rx buffer. The other difference is its reusage of packet buffer. It implements its own buffer recycle scheme. So once there are some packets received by tg3_rx_poll(), it will refill the DMA ring by tg3_rx_refill() by allocate buffer from its recycle queue. And once the packet is send out by tg3_tx_queue(), and cleaned by tg3_tx_clean, it will be collected into recycle queue. What's I am wondering is: Since I disabled the Nic's interrupt, should I do some other work to implement same function, such as flush PCI write and flush the status block to host memory? And when should I use tg3->lock and tg3_tx_lock? Thanks. Qinghua ----- Original Message ----- From: "David S. Miller" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <netdev@vger.kernel.org> Sent: Tuesday, July 05, 2005 3:52 PM Subject: Re: help on tg3 polling extension > From: "Qinghua(Kevin) Ye" <[EMAIL PROTECTED]> > Date: Tue, 5 Jul 2005 15:38:57 -0600 > > > I am thinking about extending the tg3 driver to support Click Polling. > > What is Click Polling, and why would we want it? > - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html