Skip to content

Merge ramoops and persistent_ram, generic pstore RAM backend

Anton Vorontsov lkml 3 versions – In review

Get series with b4
b4 am 20120517071148.GA16946@lizard

Versions newest first · linked by author and title

  1. v3 Latest3 patches 3 repliesIn review
  2. v26 patches 10 repliesSuperseded
  3. v111 patches 24 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3persistent_ram: Move to fs/pstore/ram_core.cdrivers/staging/android/Kconfig drivers/staging/android/Makefile drivers/staging/android/persistent_ram.c +6 more+620 -6280 replies
2/3pstore/ram: Switch to persistent_ram routinesfs/pstore/ram.c+59 -472 replies
3/3pstore/ram: Add ECC supportDocumentation/ramoops.txt fs/pstore/ram.c include/linux/pstore_ram.h+19 -30 replies

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchKees CookMarco Stornelli
1/3A-b
2/3A-b
3/3A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/3] Merge ramoops and persistent_ram, generic pstore RAM backend

Hi all,

Here comes v3:

- Rebased on current staging-next tree, so only 3 patches left;
- Fixed ram_console dependency in Kconfig (issue noticed by Greg KH).

And the boilerplate, background for the series:

There are currently two competing debug facilities to store kernel messages in a persistent storage: a generic pstore and Google's persistent_ram. Not so long ago (https://lkml.org/lkml/2012/3/8/252),
it was decided that we should fix this situation.

Recently ramoops has switched to pstore, which basically means that it became a RAM backend for the pstore framework.

persistent_ram+ram_console and ramoops+pstore have almost the same features, except:

1. Ramoops doesn't support ECC. Having ECC is useful when a hardware reset was used to bring the machine back to life (i.e. a watchdog triggered). In such cases, RAM may be somewhat corrupt, but usually it is restorable.

2. Pstore doesn't support logging kernel messages in run-time, it only dumps dmesg when kernel oopses/panics. This makes pstore useless for debugging hangs caused by HW issues or improper use of HW (e.g. weird device inserted -> driver tried to write a reserved bits -> SoC hanged. In that case we don't get any messages in the pstore.

These patches solve the first issue, plus move things to their proper places.

---

 Documentation/ramoops.txt                |    6 +
 drivers/staging/android/Kconfig          |   10 +-
 drivers/staging/android/Makefile         |    1 -
 drivers/staging/android/persistent_ram.c |  532 ------------------------------
 drivers/staging/android/persistent_ram.h |   82 -----
 drivers/staging/android/ram_console.c    |    2 +-
 fs/pstore/Kconfig                        |    7 +-
 fs/pstore/Makefile                       |    2 +-
 fs/pstore/ram.c                          |  119 ++++---
 fs/pstore/ram_core.c                     |  532 ++++++++++++++++++++++++++++++
 include/linux/pstore_ram.h               |   81 +++++
 11 files changed, 697 insertions(+), 677 deletions(-)
Signature · 2 lines
Anton Vorontsov
Email: [email protected]