From: Prarit Bhargava <prarit@redhat.com>
To: Thomas Renninger <trenn@suse.de>
Cc: chen gong <gong.chen@linux.intel.com>,
ykzhao <yakui.zhao@intel.com>, Matthew Garrett <mjg@redhat.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
trenn@novell.com
Subject: Re: [RFC PATCH]: ACPI: Automatically online hot-added memory
Date: Wed, 24 Mar 2010 11:16:09 -0400 [thread overview]
Message-ID: <4BAA2CB9.4080600@redhat.com> (raw)
In-Reply-To: <201003241540.01187.trenn@suse.de>
Thomas Renninger wrote:
> On Wednesday 17 March 2010 19:47:55 Prarit Bhargava wrote:
>
>> Thomas Renninger wrote:
>>
>>> On Thursday 11 March 2010 09:32:09 chen gong wrote:
>>>
>>>
>>>> On 2010-3-11 16:07, ykzhao wrote:
>>>>
>>>>
>>> ...
>>>
>>>
>>>> BTW, how about using UDEV rules to do this operation. It looks more smooth. I know some
>>>> Novell guy is working on it.
>>>>
>>>>
>>> I also know this guy :)
>>>
>>> These would be the udev rules to automatically add memory/cpus:
>>> SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1", RUN+="/bin/logger onlining cpu: $env{DEVPATH}"
>>> SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online", RUN+="/bin/logger onlining memory: $env{DEVPATH}"
>>>
>>> But this should be the same as you suggest (at least the memory rule)
>>> to do in the kernel:
>>> automatically online the memory, once hotadded.
>>>
>>> I would not add any udev rules before this does not work
>>> reliably and currently it is totally broken, mainly because:
>>> - not being able to alloc memory on foreign nodes (at least with slab)
>>> - C-state, throttling and cpufreq set up is done without valid
>>> cpu_data(new_cpu) resulting in wrong C-state (and other) info
>>>
>>>
>>>
>> Thomas, forgive my ignorance of udev rules ... but can one udev rule
>> block another? ... That's not the best way to explain it ... here's an
>> example:
>>
>> CPU hot add on Nehalem-EX. Memory is brought online. Memory udev
>> events are generated. CPU udev events are generated.
>>
>> Can the memory udev events block the cpu udev events? ie) can I be
>> assured that memory will come online before the cpus?
>>
> I give up, there are too many open issues.
> Onlining cpus and memory in parallel currently is not a good idea.
>
>
Thomas,
> If the cpu event comes first, you run into other issues. I accidently had
> the acpi_memhotplug driver not loaded, in this case a new node was not
> created at all and the cpus ended up on the wrong node.
>
>
Right :(
> Some comments on your patch:
> Your patch misses EXPORT_SYMBOL(_GPL?)(set_memory_state); (I wonder why
> drivers/base/memory.c does not export symbols under gpl...) and
> EXPORT_SYMBOL_GPL(online_pages);
>
>
Okay, I'll fix that up.
> You also need to set each memory block MEM_ONLINE somehow,
> while all memory was active, only one memory block showed "online" here:
> /sys/devices/system/node/node3/memory*/state
> which has side-effects.
>
>
Huh -- I wonder if that has to do with they way I'm calling
online_pages. I wonder if I have to make that clal "deeper" in the call
path and call it on EACH segment that I'm bringing into service...
> Would be great if you add me to CC if you repost or on related topics.
>
>
Absolutely no problem :) I didn't mean to leave you out of the
conversation :)
P.
> Thanks,
>
> Thomas
>
next prev parent reply other threads:[~2010-03-24 15:16 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-09 14:12 [RFC PATCH]: ACPI: Automatically online hot-added memory Prarit Bhargava
2010-03-09 15:42 ` Matthew Garrett
2010-03-09 18:27 ` Prarit Bhargava
2010-03-10 1:57 ` ykzhao
2010-03-10 13:28 ` Prarit Bhargava
2010-03-11 0:55 ` ykzhao
2010-03-11 2:18 ` Prarit Bhargava
2010-03-11 8:07 ` ykzhao
2010-03-11 8:32 ` chen gong
2010-03-11 11:25 ` Prarit Bhargava
2010-03-12 13:18 ` Thomas Renninger
2010-03-17 18:47 ` Prarit Bhargava
2010-03-19 16:55 ` Thomas Renninger
2010-03-19 17:23 ` Prarit Bhargava
2010-03-20 20:51 ` Thomas Renninger
2010-03-24 14:40 ` Thomas Renninger
2010-03-24 15:16 ` Prarit Bhargava [this message]
2010-03-11 11:18 ` Prarit Bhargava
2010-03-12 1:31 ` ykzhao
2010-03-12 13:01 ` Thomas Renninger
2010-03-17 15:24 ` Prarit Bhargava
2010-03-09 19:10 ` Alex Chiang
2010-03-09 19:10 ` Alex Chiang
2010-03-09 19:15 ` Prarit Bhargava
2010-03-09 19:15 ` Prarit Bhargava
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=4BAA2CB9.4080600@redhat.com \
--to=prarit@redhat.com \
--cc=gong.chen@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg@redhat.com \
--cc=trenn@novell.com \
--cc=trenn@suse.de \
--cc=yakui.zhao@intel.com \
/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.