The following series implements multiple pmsg. This feature allows userspace program to control individual content aging or priority.
If a pstore backend module(e.g. ramoops) requires the multiple pmsg instances when registering itself to pstore, multiple /dev/pmsg[ID] are created. Writes to each /dev/pmsg[ID] are isolated each other. After reboot, the contents are available in /sys/fs/pstore/pmsg-[backend]-[ID]. In addition, we add multiple pmsg support for ramoops. We can specify multiple pmsg area size by its module parameter as follows. pmsg_size=0x1000,0x2000,... I did check the operation of this feature on CycloneV (socfpga) Helio board. v2: Rebase to v4.7. Fix compile error by ramoops_free_przs function. Hiraku Toyooka (5): ramoops: use persistent_ram_free() instead of kfree() for freeing prz ramoops: introduce generic init/free functions for prz pstore: support multiple pmsg instances ramoops: support multiple pmsg instances selftests/pstore: add testcases for multiple pmsg instances Documentation/ramoops.txt | 22 +++ fs/pstore/pmsg.c | 20 +- fs/pstore/ram.c | 215 ++++++++++++++++----- include/linux/pstore.h | 1 + include/linux/pstore_ram.h | 8 +- tools/testing/selftests/pstore/common_tests | 21 +- .../selftests/pstore/pstore_post_reboot_tests | 27 +-- tools/testing/selftests/pstore/pstore_tests | 16 +- 8 files changed, 257 insertions(+), 73 deletions(-) -- 2.8.1