[PATCH v4 2nd 0/4] pstore: ramoops: support multiple pmsg instances

From: Nobuhiro Iwamatsu
Date: Mon Jan 30 2017 - 20:59:26 EST


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.

v4:
Rebase to 4.10-rc5
The following patches have been removed from this series as similar functions
were modified by other commit.
- pstore: Replace four kzalloc() calls by kcalloc() in ramoops_init_przs()
- pstore: Change parameter of ramoops_free_przs()
- pstore: Rename 'przs' to 'dprzs' in struct ramoops_context
- ramoops: Rename ramoops_init_prz() to ramoops_init_dprzs()

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 (2):
ramoops: Add __ramoops_init_prz() as generic function
ramoops: support multiple pmsg instances

Documentation/admin-guide/ramoops.rst | 22 ++
.../bindings/reserved-memory/ramoops.txt | 6 +-
fs/pstore/pmsg.c | 23 +-
fs/pstore/ram.c | 286 +++++++++++++++++----
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, 326 insertions(+), 82 deletions(-)

--
2.11.0