Hi There is a deficiency in current e820.c handling where unknown new memory-chip types come up as a BUSY resource when some other driver (like pmem) tries to call request_mem_region_exclusive() on that resource. Even though, actually there is nothing using it. >From inspecting the code and the history of e820.c it looks like a BUG.
In any way this is a problem for the new type-12 NvDIMM memory chips that are circulating around. (It is estimated that there are already 100ds of thousands NvDIMM chips in active use) The patches below first fixes the above problem for any future type memory, so external drivers can access these mem chips. I then also add the NvDIMM type-12 memory constant so it comes up nice in dprints and at /proc/iomem Just as before all these chips are very much usable with the pmem driver. This lets us remove the hack for type-12 NvDIMMs that ignores the return code from request_mem_region_exclusive() in pmem.c. There is a 3rd patch just for reference to pmem.c which enables pmem to work also on Old Kernels which do not include these 2 patches. For all the pmem people. I maintain a tree with these patches and latest pmem code (Also including DAX) here: git://git.open-osd.org/pmem.git [web-view:http://git.open-osd.org/gitweb.cgi?p=pmem.git;a=summary] List of patches: [PATCH 1/2] e820: Don't let unknown DIMM type come out BUSY [RFC 2/2] e820: Add the NvDIMM Memory type (type-12) These are for submission [PATCH 3/3] pmem: Allow request_mem to fail (CONFIG_BLK_DEV_PMEM_IGNORE_REQUEST_MEM_RET) Just for reference Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/