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


Reply via email to