From: Alexander Duyck <alexander.h.duyck@linux.intel.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: tj@kernel.org, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org, len.brown@intel.com,
rafael@kernel.org, linux-pm@vger.kernel.org,
jiangshanlai@gmail.com, pavel@ucw.cz, zwisler@kernel.org
Subject: Re: [workqueue/driver-core PATCH v2 4/5] driver core: Attach devices on CPU local to device node
Date: Thu, 11 Oct 2018 08:50:29 -0700 [thread overview]
Message-ID: <e2c37263-ccbd-f3e1-243d-f5c6867fa251@linux.intel.com> (raw)
In-Reply-To: <20181011104501.GA30183@kroah.com>
On 10/11/2018 3:45 AM, Greg KH wrote:
> On Wed, Oct 10, 2018 at 04:08:40PM -0700, Alexander Duyck wrote:
>> This change makes it so that we call the asynchronous probe routines on a
>> CPU local to the device node. By doing this we should be able to improve
>> our initialization time significantly as we can avoid having to access the
>> device from a remote node which may introduce higher latency.
>
> This is nice in theory, but what kind of real numbers does this show?
> There's a lot of added complexity here, and what is the benifit?
>
> Benchmarks or bootcharts that we can see would be great to have, thanks.
>
> greg k-h
>
In the case of persistent memory init the cost for getting the wrong
node is pretty significant. On my test system with 3TB per node just
getting the initialization node matched up to the memory node dropped
initialization time per node from 39 seconds down to about 26 seconds
per node.
We are already starting to see code like this pop up in subsystems
anyway. For example the PCI code already has logic similar to what I am
adding here floating around in it[1]. I'm hoping that by placing this
change in the core device code we could start consolidating it so we
don't have all the individual drivers or subsystems implementing their
own NUMA specific init logic.
This is likely going to become more of an issue in the future as we now
have CPUs like the AMD Ryzen Threadripper out there that have people
starting to discuss NUMA in the consumer space.
- Alex
[1]
https://elixir.bootlin.com/linux/v4.19-rc7/source/drivers/pci/pci-driver.c#L331
next prev parent reply other threads:[~2018-10-11 15:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-10 23:07 [workqueue/driver-core PATCH v2 0/5] Add NUMA aware async_schedule calls Alexander Duyck
2018-10-10 23:07 ` [workqueue/driver-core PATCH v2 1/5] workqueue: Provide queue_work_node to queue work near a given NUMA node Alexander Duyck
2018-10-11 15:04 ` Tejun Heo
2018-10-11 16:49 ` Alexander Duyck
2018-10-11 17:02 ` Greg KH
2018-10-11 17:13 ` Alexander Duyck
2018-10-10 23:08 ` [workqueue/driver-core PATCH v2 2/5] async: Add support for queueing on specific " Alexander Duyck
2018-10-11 10:47 ` Greg KH
2018-10-11 15:51 ` Alexander Duyck
2018-10-10 23:08 ` [workqueue/driver-core PATCH v2 3/5] driver core: Probe devices asynchronously instead of the driver Alexander Duyck
2018-10-10 23:08 ` [workqueue/driver-core PATCH v2 4/5] driver core: Attach devices on CPU local to device node Alexander Duyck
2018-10-11 10:45 ` Greg KH
2018-10-11 15:50 ` Alexander Duyck [this message]
2018-10-10 23:08 ` [workqueue/driver-core PATCH v2 5/5] PM core: Use new async_schedule_dev command Alexander Duyck
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=e2c37263-ccbd-f3e1-243d-f5c6867fa251@linux.intel.com \
--to=alexander.h.duyck@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=gregkh@linuxfoundation.org \
--cc=jiangshanlai@gmail.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rafael@kernel.org \
--cc=tj@kernel.org \
--cc=zwisler@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;
as well as URLs for NNTP newsgroup(s).