[dm-devel] Persistent memory interface

Mikulas Patocka mpatocka at redhat.com
Fri Jun 19 16:33:09 UTC 2015


Hi

I looked at the new the persistent memory block device driver 
(drivers/block/pmem.c and arch/x86/kernel/pmem.c) and it seems that the 
interface between them is incorrect.

If I want to use persistent memory in another driver, for a different 
purpose, how can I make sure that that drivers/block/pmem.c doesn't attach 
to this piece of memory and export it? It seems not possible. 
drivers/block/pmem.c attaches to everything without regard that there may 
be other users of persistent memory.

I think a correct solution would be to add a partition table at the 
beginning of persistent memory area and this partition table would 
describe which parts belong to which programs - so that different programs 
could use persistent memory and not step over each other's data. Is there 
some effort to standardize the partition table ongoing?


BTW. some journaling filesystems assume that 512-byte sector is written 
atomically. drivers/block/pmem.c breaks this requirement. Persistent 
memory only gurantees 8-byte atomic writes.

Mikulas




More information about the dm-devel mailing list