On Thu, Jan 7, 2016 at 3:22 PM, Dan Williams <dan.j.williams(a)intel.com> wrote:
On Thu, Jan 7, 2016 at 3:15 PM, Linda Knippers
> On 1/7/2016 5:49 PM, Dan Williams wrote:
>> On Thu, Jan 7, 2016 at 1:18 PM, Linda Knippers <linda.knippers(a)hpe.com>
>>> On 12/24/2015 9:21 PM, Vishal Verma wrote:
>>>> During region creation, perform Address Range Scrubs (ARS) for the SPA
>>>> (System Physical Address) ranges to retrieve known poison locations from
>>>> firmware. Add a new data structure 'nd_poison' which is used as a
>>>> in nvdimm_bus to store these poison locations.
>>>> When creating a pmem namespace, if there is any known poison associated
>>>> with its physical address space, convert the poison ranges to bad
>>>> that are exposed using the badblocks interface.
>>>> Signed-off-by: Vishal Verma <vishal.l.verma(a)intel.com>
>>>> drivers/acpi/nfit.c | 203
>>>> drivers/nvdimm/core.c | 187
>>>> drivers/nvdimm/nd-core.h | 3 +
>>>> drivers/nvdimm/nd.h | 6 ++
>>>> drivers/nvdimm/pmem.c | 6 ++
>>>> include/linux/libnvdimm.h | 1 +
>>>> 6 files changed, 406 insertions(+)
>>>> diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
>>> Why are the ARS function in acpi/nfit.c rather than in the core?
>>> I realize that the interfaces are/will be defined in the ACPI spec but
>>> it's not really part of the NFIT.
>>> Why isn't this part of the nvdimm core, where the calls are made?
>> True. acpi_nfit_find_poison() could easily become
>> nvdimm_bus_find_poison() and move to the core. However we only need
>> to take that step when / if another nvdimm bus type show up that isn't
>> nfit defined. For now only nfit-defined nvdimms have a concept of
> Why not go ahead and move it now?
> I agree that ARS is related to NFIT, but practically everything else
> in the core is as well. It doesn't seem to belongs in nfit.c. I
> didn't even notice that's where it was since the subject line says
Should be straightforward, will do.
So this turns out to not be straightforward because the ars record
format is ACPI specific. We would need to define a generic record
format to move the poison processing to the core, and I don't see this
being worth the effort until a non-ACPI ars record format appears.