diff options
author | Yufeng Mo <moyufeng@huawei.com> | 2021-10-27 20:11:44 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-27 14:47:33 +0100 |
commit | f29da4088fb4eeba457219a931327d1d5f45196a (patch) | |
tree | cee36af3ee4ba6a781ef872b21200705b2a942ba /drivers/net/ethernet/hisilicon/hns3/hns3vf | |
parent | 3bda2e5df476417b6d08967e2d84234a59d57b1c (diff) | |
download | linux-stable-f29da4088fb4eeba457219a931327d1d5f45196a.tar.gz linux-stable-f29da4088fb4eeba457219a931327d1d5f45196a.tar.bz2 linux-stable-f29da4088fb4eeba457219a931327d1d5f45196a.zip |
net: hns3: change hclge/hclgevf workqueue to WQ_UNBOUND mode
Currently, the workqueue of hclge/hclgevf is executed on
the CPU that initiates scheduling requests by default. In
stress scenarios, the CPU may be busy and workqueue scheduling
is completed after a long period of time. To avoid this
situation and implement proper scheduling, use the WQ_UNBOUND
mode instead. In this way, the workqueue can be performed on
a relatively idle CPU.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon/hns3/hns3vf')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c index bef6b98e2f50..5efa5420297d 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -3899,7 +3899,7 @@ static int hclgevf_init(void) { pr_info("%s is initializing\n", HCLGEVF_NAME); - hclgevf_wq = alloc_workqueue("%s", 0, 0, HCLGEVF_NAME); + hclgevf_wq = alloc_workqueue("%s", WQ_UNBOUND, 0, HCLGEVF_NAME); if (!hclgevf_wq) { pr_err("%s: failed to create workqueue\n", HCLGEVF_NAME); return -ENOMEM; |