Skip to content

Merge ram_console into pstore

Anton Vorontsov lkml 5 versions – In review

Get series with b4
b4 am 20120526131747.GA15054@lizard

Versions newest first · linked by author and title

  1. v5 Latest11 patches 9 repliesIn review
  2. v416 patches 19 repliesSuperseded
  3. v314 patches 6 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v26 patches8 repliesSuperseded
v16 patches11 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11pstore: Add console log messages supportfs/pstore/Kconfig fs/pstore/inode.c fs/pstore/platform.c +1 more+48 -00 replies
2/11pstore/ram: Give proper names to dump-related variablesfs/pstore/ram.c+17 -171 reply
3/11pstore/ram: Factor dmesg przs initialization out of probe()fs/pstore/ram.c+62 -371 reply
4/11pstore/ram: Factor ramoops_get_next_prz() out of ramoops_pstore_read()fs/pstore/ram.c+32 -91 reply
5/11pstore/ram: Add console messages handlingfs/pstore/ram.c include/linux/pstore_ram.h+87 -140 replies
6/11pstore/ram_core: Silence some printksfs/pstore/ram_core.c+2 -20 replies
7/11pstore/ram: Add some more documentation and examplesDocumentation/ramoops.txt+14 -00 replies
8/11staging/android: Remove ram_console driverdrivers/staging/android/Kconfig drivers/staging/android/Makefile drivers/staging/android/ram_console.c+0 -1850 replies
9/11pstore/ram_core: Remove now unused codefs/pstore/ram_core.c include/linux/pstore_ram.h+0 -960 replies
10/11pstore/platform: Make automatic updates interval configurablefs/pstore/platform.c+11 -40 replies
11/11pstore/platform: Disable automatic updates by defaultfs/pstore/platform.c+4 -20 replies

Reviews trailers per patch

10 of 11 patches have a Reviewed-by or Acked-by.

PatchKees CookColin Cross
1/11A-b A-b
2/11A-b
3/11A-b
4/11A-b
5/11A-b
6/11A-b A-b
7/11A-b A-b
8/11A-b A-b
9/11A-b A-b
10/11A-b
11/11

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

Read the v5 thread

Cover letter [PATCH v5 0/11] Merge ram_console into pstore

Hi all,

And another respin, v5 this time:

- Split out fixes into a separate series;
- Added proper spinlock protection to the pstore/console interface (the bug I found when was adding ftrace interface);
- And as I'm about to add ftrace support to pstore, to not touch the same lines of code twice, I reworked 'Factor ramoops_get_dump_prz() out of ramoops_pstore_read()' patch into 'Factor ramoops_get_next_prz() out of ramoops_pstore_read()'. This is just a more generic interface that will work for both console and ftrace przs.
Since the patch changed drastically, it lost Kees' ack, so it needs a re-ack.
- The same as above happened w/ 'Introduce ramoops_context.max_dump_count' patch, it turned into 'Give proper names to dump-related variables', it also needs a re-ack.
- If anyone is willing to try the patches, for convenience they are now available in the git repository:
git://git.infradead.org/users/cbou/linux-pstore.git
or gitweb:
http://git.infradead.org/users/cbou/linux-pstore.git

In v4:

- Per Kees Cook's comments, the patches no longer remove an automatic updates feature, but instead make the it configurable; plus disable it by default (in a separate patch);
- Fixed some bugs noticed by Colin Cross;
- Documented new continuous ramoops-console log behaviour (also noticed by Colin Cross).

In v3:

- Rebased on top of current staging-next;
- The series are getting bigger. This is partly because we now support different persistent zone sizes for oops records and console log, per Colin Cross' request.
And I believe the code is now more manageable for further enhancements (e.g. if we'd want to add other message types, e.g. tracing);
- Addressed Kees Cook's comments on the unlinking matters;
- Removed automatic updates support. Please see the last patch description for rationale;
- A new fixup for pstore/inode, just getting rid of a sparse warning.

In v2:

- Updated documentation per Colin Cross' comments;
- Corrected return value in ramoops_pstore_write() (noticed by Kees Cook);
- Fixed large writes handling in pstore_console_write(), i.e. when log_buf write is larger than pstore bufsize. Also Noticed by Kees Cook.

And a boilerplate for the series:

Currently 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 reserved bits -> SoC hanged. In that case we don't get any messages in the pstore.

This series add a new message type for pstore, i.e. PSTORE_TYPE_CONSOLE, plus make pstore/ram.c handle the new messages.

The old ram_console driver is removed. This might probably cause some pain for out-of-tree code, as it would need to be adjusted... but "no pain, no gain"? :-) Though, if there's some serious resistance, we can probably postpone the last two patches.

Thanks!

---

 Documentation/ramoops.txt             |   14 ++
 drivers/staging/android/Kconfig       |    5 -
 drivers/staging/android/Makefile      |    1 -
 drivers/staging/android/ram_console.c |  179 ------------------------
 fs/pstore/Kconfig                     |    7 +
 fs/pstore/inode.c                     |    3 +
 fs/pstore/platform.c                  |   54 +++++++-
 fs/pstore/ram.c                       |  246 ++++++++++++++++++++++++---------
 fs/pstore/ram_core.c                  |   81 +----------
 include/linux/pstore.h                |    1 +
 include/linux/pstore_ram.h            |   20 +--
 11 files changed, 261 insertions(+), 350 deletions(-)
Signature · 2 lines
Anton Vorontsov
Email: [email protected]