[ndctl,08/10] Documentation: clarify memory movablity for reconfigure-device
diff mbox series

Message ID 20191002234925.9190-9-vishal.l.verma@intel.com
State Superseded
Commit 43a18598f6ccffe6ae9d1d255f51b55ff84a41e5
Headers show
Series
  • fixes and movability for system-ram mode
Related show

Commit Message

Verma, Vishal L Oct. 2, 2019, 11:49 p.m. UTC
Move the note about potential races in memory onlining into the
'Description' section to make it more prominent. Reword the note to talk
about the sources of such races, and talk about the new 'race detection'
semantics in daxctl.

Link: https://github.com/pmem/ndctl/issues/110
Reported-by: Ben Olson <ben.olson@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 .../daxctl/daxctl-reconfigure-device.txt      | 24 +++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)

Comments

Dan Williams Oct. 18, 2019, 8:46 p.m. UTC | #1
On Wed, Oct 2, 2019 at 4:49 PM Vishal Verma <vishal.l.verma@intel.com> wrote:
>
> Move the note about potential races in memory onlining into the
> 'Description' section to make it more prominent. Reword the note to talk
> about the sources of such races, and talk about the new 'race detection'
> semantics in daxctl.
>
> Link: https://github.com/pmem/ndctl/issues/110
> Reported-by: Ben Olson <ben.olson@intel.com>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
> ---
>  .../daxctl/daxctl-reconfigure-device.txt      | 24 +++++++++++--------
>  1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/Documentation/daxctl/daxctl-reconfigure-device.txt b/Documentation/daxctl/daxctl-reconfigure-device.txt
> index 196d692..4663529 100644
> --- a/Documentation/daxctl/daxctl-reconfigure-device.txt
> +++ b/Documentation/daxctl/daxctl-reconfigure-device.txt
> @@ -97,6 +97,20 @@ error reconfiguring devices: Operation not supported
>  reconfigured 0 devices
>  ----
>
> +'daxctl-reconfigure-device' nominally expects that it will online new memory
> +blocks as 'movable', so that kernel data doesn't make it into this memory.
> +However, there are other potential agents that may be configured to
> +automatically online new hot-plugged memory as it appears. Most notably,
> +these are the '/sys/devices/system/memory/auto_online_blocks' configuration,
> +or system udev rules. If such an agent races to online memory sections, daxctl
> +checks if the blocks were onlined as 'movable' memory. If this was not the
> +case, and the memory blocks are found to be in a different zone, then a
> +warning is displayed. If it is desired that a different agent control the
> +onlining of memory blocks, and the associated memory zone, then it is
> +recommended to use the --no-online option described below. This will abridge
> +the device reconfiguration operation to just hotplugging the memory, and
> +refrain from then onlining it.

Oh here's that full description that calls out udev.

I think just "See daxctl reconfigure-device --help" is sufficient for
those warnings in the previous patch.
Verma, Vishal L Oct. 18, 2019, 8:50 p.m. UTC | #2
On Fri, 2019-10-18 at 13:46 -0700, Dan Williams wrote:
>
> > +'daxctl-reconfigure-device' nominally expects that it will online new memory
> > +blocks as 'movable', so that kernel data doesn't make it into this memory.
> > +However, there are other potential agents that may be configured to
> > +automatically online new hot-plugged memory as it appears. Most notably,
> > +these are the '/sys/devices/system/memory/auto_online_blocks' configuration,
> > +or system udev rules. If such an agent races to online memory sections, daxctl
> > +checks if the blocks were onlined as 'movable' memory. If this was not the
> > +case, and the memory blocks are found to be in a different zone, then a
> > +warning is displayed. If it is desired that a different agent control the
> > +onlining of memory blocks, and the associated memory zone, then it is
> > +recommended to use the --no-online option described below. This will abridge
> > +the device reconfiguration operation to just hotplugging the memory, and
> > +refrain from then onlining it.
> 
> Oh here's that full description that calls out udev.
> 
> I think just "See daxctl reconfigure-device --help" is sufficient for
> those warnings in the previous patch.

Yep I've truncated the runtime warning down to point here.

Patch
diff mbox series

diff --git a/Documentation/daxctl/daxctl-reconfigure-device.txt b/Documentation/daxctl/daxctl-reconfigure-device.txt
index 196d692..4663529 100644
--- a/Documentation/daxctl/daxctl-reconfigure-device.txt
+++ b/Documentation/daxctl/daxctl-reconfigure-device.txt
@@ -97,6 +97,20 @@  error reconfiguring devices: Operation not supported
 reconfigured 0 devices
 ----
 
+'daxctl-reconfigure-device' nominally expects that it will online new memory
+blocks as 'movable', so that kernel data doesn't make it into this memory.
+However, there are other potential agents that may be configured to
+automatically online new hot-plugged memory as it appears. Most notably,
+these are the '/sys/devices/system/memory/auto_online_blocks' configuration,
+or system udev rules. If such an agent races to online memory sections, daxctl
+checks if the blocks were onlined as 'movable' memory. If this was not the
+case, and the memory blocks are found to be in a different zone, then a
+warning is displayed. If it is desired that a different agent control the
+onlining of memory blocks, and the associated memory zone, then it is
+recommended to use the --no-online option described below. This will abridge
+the device reconfiguration operation to just hotplugging the memory, and
+refrain from then onlining it.
+
 OPTIONS
 -------
 -r::
@@ -121,16 +135,6 @@  OPTIONS
 	brought online automatically and immediately with the 'online_movable'
 	policy. Use this option to disable the automatic onlining behavior.
 
-	NOTE: While this option prevents daxctl from automatically onlining
-	the memory sections, there may be other agents, notably system udev
-	rules, that online new memory sections as they appear. Coordinating
-	with such rules is out of scope of this utility, and the system
-	administrator is expected to remove them if they are undesirable.
-	If such an agent races to online memory sections, daxctl is prepared
-	to lose the race, and not fail the onlining operation as it only
-	cares that the memory section was onlined, not that it was the one
-	to do so.
-
 -f::
 --force::
 	When converting from "system-ram" mode to "devdax", it is expected