All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Tejun Heo <tj@kernel.org>
Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>,
	<linux-kernel@vger.kernel.org>, <laijs@cn.fujitsu.com>,
	<isimatu.yasuaki@jp.fujitsu.com>, <tangchen@cn.fujitsu.com>
Subject: Re: [PATCH] workqueue: update numa affinity when node hotplug
Date: Tue, 3 Mar 2015 15:53:46 +0900	[thread overview]
Message-ID: <54F55A7A.7060100@jp.fujitsu.com> (raw)
In-Reply-To: <20150302162854.GG17694@htj.duckdns.org>

On 2015/03/03 1:28, Tejun Heo wrote:
> Hello,
>
> On Mon, Mar 02, 2015 at 05:41:05PM +0900, Kamezawa Hiroyuki wrote:
>> Let me start from explaining current behavior.
>>
>> - cpu-id is determined when a new processor(lapicid/x2apicid) is founded.
>>    cpu-id<->nodeid relationship is _not_ recorded.
>
> Is this something from the firmware side or is it just that we aren't
> maintaining the association right now?
>

I think it's not just maintained.

>> - node-id is determined when a new pxm(firmware info) is founded.
>>    pxm<->nodeid relationship is recorded.
>>
>> By this, there are 2 cases of cpu<->nodeid change.
>>
>> Case A) In x86, cpus on memory-less nodes are all tied to existing nodes(round robin).
>> At memory-hotadd happens and a new node comes, cpus are moved to a newly added node
>> based on pxm.
>
> Ah, okay, so the firmware doesn't provide proximity information at all
> for memory-less nodes so we end up putting all of them somewhere
> random and when memory is added to one of the memory-less nodes, the
> mapping information changes?
>

With memory-less node, proximity domain for processors are given but ignored.
When memory(node) hotplug happens, the information revisited and cpuid<->nodeid
relationship is updated.

> Am I understanding it correctly?  If so, it's super weird tho.  Why
> wouldn't there be proximity information for a memless node?  Not
> having memory doesn't mean it's at the same distance from all existing
> nodes.
>
Firmware gives pxm for memory-less node but it's ignored.
I'm not sure why the current implemetaion is.

>> Case B) Adding a node after removing another node, if pxm of them were different from
>> each other, cpu<->node relatiionship changes.
>
> I don't get this either.  Does proximity relationship actually change?
> Or is it that we're assigning different IDs to the same thing?Isn't
> proximity pretty much hardwired to how the system is architected to
> begin with?
>

relationship between proximity domain and lapic id doesn't change.
relationship between lapic-id and cpu-id changes.

pxm <-> memory address  : no change
pxm <-> lapicid         : no change
pxm <-> node id         : no change
lapicid <-> cpu id      : change.

>> I personally thinks proper fix is building persistent cpu-id <-> lapicid relationship as
>> pxm does rather than creating band-aid.
>
> Oh if this is possible, I agree that's the right direction too.
>

Implementation is a bit complicated now :(.

Thanks,
-Kame

> Thanks.
>



  reply	other threads:[~2015-03-03  6:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-27 10:04 [PATCH] workqueue: update numa affinity when node hotplug Gu Zheng
2015-02-27 11:54 ` Tejun Heo
2015-03-02  8:41   ` Kamezawa Hiroyuki
2015-03-02 16:28     ` Tejun Heo
2015-03-03  6:53       ` Kamezawa Hiroyuki [this message]
2015-03-03 13:18         ` Tejun Heo
2015-03-04  5:45           ` Kamezawa Hiroyuki
2015-03-05  1:23             ` Gu Zheng
2015-03-05  7:16               ` Kamezawa Hiroyuki

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=54F55A7A.7060100@jp.fujitsu.com \
    --to=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=guz.fnst@cn.fujitsu.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tangchen@cn.fujitsu.com \
    --cc=tj@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.