Re: [PATCH v2 2/3] powerpc/papr_scm: Update drc_pmem_unbind() to use H_SCM_UNBIND_ALL
From: "Oliver O'Halloran" <oohall@gmail.com>
Date: 2019-06-26 03:51:18
On Tue, Jun 25, 2019 at 10:27 PM Vaibhav Jain [off-list ref] wrote:
The new hcall named H_SCM_UNBIND_ALL has been introduce that can unbind all the memory drc memory-blocks assigned to an lpar.
This is a little muddy. For normal memory each block has a DRC so you can add/remove individual blocks by configuring or deconfiguring the DRC for that block. For storage class memory the DRC refers to the SCM volume as a whole rather than an individual block so a "memory DRC" isn't really what you're taking about here. This is probably being a little pedantic, but I find the whole DRC system confusing enough as-is so it's good to be clear about these things.
more efficient than using H_SCM_UNBIND_MEM as currently we don't
support partial unbind of drc memory-blocks.
Hence this patch proposes following changes to drc_pmem_unbind():
* Update drc_pmem_unbind() to replace hcall H_SCM_UNBIND_MEM to
H_SCM_UNBIND_ALL.
* Update drc_pmem_unbind() to handles cases when PHYP asks the guest
kernel to wait for specific amount of time before retrying the
hcall via the 'LONG_BUSY' return value.
* Ensure appropriate error code is returned back from the function
in case of an error.
Signed-off-by: Vaibhav Jain <redacted>
---
Change-log:
v2:
* Added a dev_dbg when unbind operation succeeds [Oliver]
* Changed type of variable 'rc' to int64_t [Oliver]
* Removed the code that was logging a warning in case bind operation
takes >1-seconds [Oliver]
* Spinned off changes to hvcall.h as a separate patch. [Oliver]Looks good otherwise, when you respin feel free to add: Reviewed-by: Oliver O'Halloran <oohall@gmail.com>