diff options
author | Felix Fietkau <nbd@nbd.name> | 2020-07-24 17:11:52 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2020-09-24 19:10:18 +0300 |
commit | 781eef5b34c57d9d8c772e2402d07086722e89e4 (patch) | |
tree | ce5cddeaee0219808558c8f564971994951517fb /drivers/net/wireless/mediatek/mt76/mt76x2/pci.c | |
parent | 30bdd69246ea9726a7688ef02c60b1ec0ae66d38 (diff) | |
download | linux-781eef5b34c57d9d8c772e2402d07086722e89e4.tar.xz |
mt76: convert from tx tasklet to tx worker thread
This improves performance by allowing the scheduler to move the tx scheduling
work to idle CPUs. Since tx scheduling work is very latency sensitive and
kept short via AQL, sched_set_fifo_low is used to keep worker priority above
normal tasks
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76x2/pci.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x2/pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c index 377cf9c02a6f..4d50dad29ddf 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c @@ -113,7 +113,7 @@ mt76x2e_suspend(struct pci_dev *pdev, pm_message_t state) napi_disable(&mdev->tx_napi); tasklet_kill(&mdev->pre_tbtt_tasklet); - tasklet_kill(&mdev->tx_tasklet); + mt76_worker_disable(&mdev->tx_worker); mt76_for_each_q_rx(mdev, i) napi_disable(&mdev->napi[i]); @@ -147,6 +147,7 @@ mt76x2e_resume(struct pci_dev *pdev) pci_restore_state(pdev); + mt76_worker_enable(&mdev->tx_worker); mt76_for_each_q_rx(mdev, i) { napi_enable(&mdev->napi[i]); napi_schedule(&mdev->napi[i]); |