123456789101112131415161718192021222324252627 |
- HOWTO for multiqueue network device support
- ===========================================
- Section 1: Base driver requirements for implementing multiqueue support
- Intro: Kernel support for multiqueue devices
- ---------------------------------------------------------
- Kernel support for multiqueue devices is always present.
- Section 1: Base driver requirements for implementing multiqueue support
- -----------------------------------------------------------------------
- Base drivers are required to use the new alloc_etherdev_mq() or
- alloc_netdev_mq() functions to allocate the subqueues for the device. The
- underlying kernel API will take care of the allocation and deallocation of
- the subqueue memory, as well as netdev configuration of where the queues
- exist in memory.
- The base driver will also need to manage the queues as it does the global
- netdev->queue_lock today. Therefore base drivers should use the
- netif_{start|stop|wake}_subqueue() functions to manage each queue while the
- device is still operational. netdev->queue_lock is still used when the device
- comes online or when it's completely shut down (unregister_netdev(), etc.).
- Author: Peter P. Waskiewicz Jr. <peter.p.waskiewicz.jr@intel.com>
|