The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Hillf Danton <hdanton@sina.com>
To: Brian Vazquez <brianvv@google.com>,
	Marco Leogrande <leogrande@google.com>
Cc: Eric Dumazet <edumazet@google.com>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [iwl-next PATCH v3 2/3] idpf: convert workqueues to unbound
Date: Fri, 13 Dec 2024 20:36:43 +0800	[thread overview]
Message-ID: <20241213123643.1898-1-hdanton@sina.com> (raw)
In-Reply-To: <20241212233333.3743239-3-brianvv@google.com>

On Thu, 12 Dec 2024 23:33:32 +0000 Brian Vazquez <brianvv@google.com>
> When a workqueue is created with `WQ_UNBOUND`, its work items are
> served by special worker-pools, whose host workers are not bound to
> any specific CPU. In the default configuration (i.e. when
> `queue_delayed_work` and friends do not specify which CPU to run the
> work item on), `WQ_UNBOUND` allows the work item to be executed on any
> CPU in the same node of the CPU it was enqueued on. While this
> solution potentially sacrifices locality, it avoids contention with
> other processes that might dominate the CPU time of the processor the
> work item was scheduled on.
> 
> This is not just a theoretical problem: in a particular scenario

The cpu hog due to (the user space) misconfig exists regardless it is
bound workqueue or not, in addition to the fact that linux kernel is
never the blue pill to kill all pains, so extra support for unbound wq
is needed.

> misconfigured process was hogging most of the time from CPU0, leaving
> less than 0.5% of its CPU time to the kworker. The IDPF workqueues
> that were using the kworker on CPU0 suffered large completion delays
> as a result, causing performance degradation, timeouts and eventual
> system crash.

  reply	other threads:[~2024-12-13 12:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-12 23:33 [iwl-next PATCH v3 0/3] IDPF Virtchnl: Enhance error reporting & fix locking/workqueue issues Brian Vazquez
2024-12-12 23:33 ` [iwl-next PATCH v3 1/3] idpf: Acquire the lock before accessing the xn->salt Brian Vazquez
2024-12-12 23:33 ` [iwl-next PATCH v3 2/3] idpf: convert workqueues to unbound Brian Vazquez
2024-12-13 12:36   ` Hillf Danton [this message]
2024-12-16 16:35     ` Brian Vazquez
2024-12-12 23:33 ` [iwl-next PATCH v3 3/3] idpf: add more info during virtchnl transaction time out Brian Vazquez
2024-12-13  9:36   ` [Intel-wired-lan] " Paul Menzel
2024-12-16 16:25     ` Brian Vazquez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241213123643.1898-1-hdanton@sina.com \
    --to=hdanton@sina.com \
    --cc=brianvv@google.com \
    --cc=edumazet@google.com \
    --cc=leogrande@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox