Re: [PATCH 01/11] resource: Add System RAM resource type
From: Toshi Kani <hidden>
Date: 2015-12-16 16:36:17
Also in:
linux-mm, lkml
On Wed, 2015-12-16 at 16:49 +0100, Borislav Petkov wrote:
On Wed, Dec 16, 2015 at 08:44:02AM -0700, Toshi Kani wrote:quoted
Besides "System RAM", which is commonly searched by multiple callers, we only have a few other uncommon cases: - crash.c searches for "GART", "ACPI Tables", and "ACPI Non-volatile Storage". - kexec_file.c searches for "Crash kernel". - einj.c will search for "Persistent Memory".Right, about those other types: your patchset improves the situation but doesn't really get rid of the strcmp() and the strings. And using strings to find resource types still looks yucky to me, even a week later. :) So how hard is it to do: region_intersects(base_addr, size, IORESOURCE_SYSTEM_RAM); region_intersects(base_addr, size, IORESOURCE_MEM, RES_TYPE_PERSISTENT); walk_iomem_res(RES_TYPE_GART, IORESOURCE_MEM, 0, -1, ced, get_gart_ranges_callback); ... and so on instead of using those silly strings?
We do not have enough bits left to cover any potential future use-cases with other strings if we are going to get rid of strcmp() completely. Since the searches from crash and kexec are one-time thing, and einj is a R&D tool, I think we can leave the strcmp() check for these special cases, and keep the interface flexible with any strings. Thanks, -Toshi