From: Paul Mackerras <paulus@samba.org>
To: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2 2/11] Add PRRN Event Handler
Date: Thu, 4 Apr 2013 14:34:36 +1100 [thread overview]
Message-ID: <20130404033436.GC19443@drongo> (raw)
In-Reply-To: <51509CF0.10200@linux.vnet.ibm.com>
On Mon, Mar 25, 2013 at 01:52:32PM -0500, Nathan Fontenot wrote:
> From: Jesse Larrew <jlarrew@linux.vnet.ibm.com>
>
> A PRRN event is signaled via the RTAS event-scan mechanism, which
> returns a Hot Plug Event message "fixed part" indicating "Platform
> Resource Reassignment". In response to the Hot Plug Event message,
> we must call ibm,update-nodes to determine which resources were
> reassigned and then ibm,update-properties to obtain the new affinity
> information about those resources.
>
> The PRRN event-scan RTAS message contains only the "fixed part" with
> the "Type" field set to the value 160 and no Extended Event Log. The
> four-byte Extended Event Log Length field is repurposed (since no
> Extended Event Log message is included) to pass the "scope" parameter
> that causes the ibm,update-nodes to return the nodes affected by the
> specific resource reassignment.
>
> This patch adds a handler in rtasd for PRRN RTAS events. The function
> pseries_devicetree_update() (from mobility.c) is used to make the
> ibm,update-nodes/ibm,update-properties RTAS calls. Updating the NUMA maps
> (handled by a subsequent patch) will require significant processing,
> so pseries_devicetree_update() is called from an asynchronous workqueue
> to allow rtasd to continue processing events. Since we flush all work
> on the queue before handling any new work there should only be one event
> in flight of being handled at a time.
^^ "of" is superfluous
In the worst case where PRRN events come close together in time, the
flush_work will block for however long it takes to do this
"significant processing", meaning that we're no better off using a
workqueue. Do we have any reason to think that these PRRN events will
normally be widely spaced in time? If so you should mention it in the
patch description.
Also, rtasd isn't actually a task, it's just a function that gets run
via schedule_delayed_work_on() and re-schedules itself each time it
runs. Is there any deadlock possibility in calling flush_work from a
work function?
Paul.
next prev parent reply other threads:[~2013-04-04 3:34 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-25 18:43 [PATCH v2 0/11] NUMA CPU Reconfiguration using PRRN Nathan Fontenot
2013-03-25 18:51 ` [PATCH v2 1/11] Expose pseries devicetree_update() Nathan Fontenot
2013-04-04 3:09 ` Paul Mackerras
2013-03-25 18:52 ` [PATCH v2 2/11] Add PRRN Event Handler Nathan Fontenot
2013-04-04 3:34 ` Paul Mackerras [this message]
2013-04-04 7:16 ` Benjamin Herrenschmidt
2013-04-05 15:43 ` Nathan Fontenot
2013-04-10 8:30 ` Michael Ellerman
2013-04-15 20:12 ` Nathan Fontenot
2013-03-25 18:53 ` [PATCH v2 3/11] Move architecture vector definitions to prom.h Nathan Fontenot
2013-03-25 18:54 ` [PATCH v2 4/11] Update firmware_has_feature() to check architecture bits Nathan Fontenot
2013-04-04 4:19 ` Paul Mackerras
2013-03-25 18:56 ` [PATCH v2 5/11] Update numa.c to use updated firmware_has_feature() Nathan Fontenot
2013-04-04 4:20 ` Paul Mackerras
2013-03-25 18:57 ` [PATCH v2 6/11] Update CPU Maps Nathan Fontenot
2013-04-04 4:42 ` Paul Mackerras
2013-04-05 18:02 ` Nathan Fontenot
2013-03-25 18:58 ` [PATCH v2 7/11] Use stop machine to update cpu maps Nathan Fontenot
2013-04-04 4:46 ` Paul Mackerras
2013-04-05 18:22 ` Nathan Fontenot
2013-04-23 0:23 ` Benjamin Herrenschmidt
2013-03-25 18:59 ` [PATCH v2 8/11] Update numa cpu vdso info Nathan Fontenot
2013-03-25 19:00 ` [PATCH v2 9/11] Re-enable Virtual Private Home Node capabilities Nathan Fontenot
2013-03-25 19:01 ` [PATCH v2 10/11] Enable PRRN Nathan Fontenot
2013-03-25 19:02 ` [PATCH v2 11/11] Add /proc interface to control topology updates Nathan Fontenot
2013-04-10 6:59 ` Michael Ellerman
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=20130404033436.GC19443@drongo \
--to=paulus@samba.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nfont@linux.vnet.ibm.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 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).