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.

v3:
  Rebase to v4.8.
  Split patch.
  merged device_create().
  Remove Blank lines.
  Update documentiation of DT binding.
  Update parsing function of ramoops_pmsg_size, add NULL termination.
  Update module parameters for pmsg_size list.

Hiraku Toyooka (2):
  pstore: support multiple pmsg instances
  selftests/pstore: add testcases for multiple pmsg instances

Nobuhiro Iwamatsu (6):
  pstore: Replace four kzalloc() calls by kcalloc() in ramoops_init_przs()
  pstore: Change parameter of ramoops_free_przs()
  ramoops: Add __ramoops_init_prz() as generic function
  pstore: Rename 'przs' to 'dprzs' in struct ramoops_context
  ramoops: Rename ramoops_init_prz() to ramoops_init_dprzs()
  ramoops: support multiple pmsg instances

 .../bindings/reserved-memory/ramoops.txt           |   6 +-
 Documentation/ramoops.txt                          |  22 ++
 fs/pstore/pmsg.c                                   |  23 +-
 fs/pstore/ram.c                                    | 344 ++++++++++++++++-----
 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        |  14 +-
 9 files changed, 360 insertions(+), 106 deletions(-)

-- 
2.9.3


Reply via email to