Re: [RFC v7 2/5] dt-bindings: pstore-block: new support for blkoops

From: liaoweixiong
Date: Wed Feb 13 2019 - 08:51:41 EST



On 2019-01-31 00:07, Rob Herring wrote:> On Wed, Jan 23, 2019 at
08:05:13PM +0800, liaoweixiong wrote:
>> Create DT binding document for blkoops.
>>
>> Signed-off-by: liaoweixiong <liaoweixiong@xxxxxxxxxxxxxxxxx>
>> ---
>> .../devicetree/bindings/pstore-block/blkoops.txt | 32 ++++++++++++++++++++++
>
> /bindings/pstore/...
>
> I wouldn't call it blkoops either. I believe ramoops is called that to
> maintain compatibility keeping the same kernel module name that
> preceeded pstore.
>

Fixed.

In addition, I don't known whether should we move
ramreserved-memory/ooos.txt to /bindings/pstore. This is for maintainer
to decide, and do it on other patch.

>> MAINTAINERS | 1 +
>> 2 files changed, 33 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pstore-block/blkoops.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pstore-block/blkoops.txt b/Documentation/devicetree/bindings/pstore-block/blkoops.txt
>> new file mode 100644
>> index 0000000..a25835b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pstore-block/blkoops.txt
>> @@ -0,0 +1,32 @@
>> +Blkoops oops logger
>> +===================
>> +
>> +Blkoops provides a block partition for oops, excluding panics now, so they can
>> +be recovered after a reboot.
>> +
>> +Any space of block partition will be used for a circular buffer of oops records.
>> +These records have a configurable size, with a size of 0 indicating that they
>> +should be disabled.
>> +
>> +"partition-size" and at least one of "dmesg-size" or "pmsg-size" must be set
>> +non-zero, but are otherwise optional as listed below.
>> +
>> +Blkoops will take value from Kconfig if device tree do not set, but settings
>> +from module parameters can also overwrite them.
>
> That's all kernel details not relevant to the binidng.
>

Deleted.

>> +
>> +Required properties:
>> +
>> +- compatible: must be "blkoops".
>> +
>> +- partition-size: size in kbytes, must be a multiple of 4.
>
> This seems unnecessary given a partition has a known size.
>

partition-size is necessary for psotre/blk. User should tell pstore/blk
how large space can it use.

>> +
>> +Optional properties:
>> +
>> +- partition-path: strings must begin with "/dev", tell blkoops which partition
>> + it can used. If it is not set, blkoops will drop all data when reboot.
>
> No. '/dev/...' is a Linux thing and doesn't belong in DT.
>
> You should define a partition UUID and/or label and the kernel can find
> the right partition to use.
>

pstore/blk do general read/write by filp_open/kernel_read/kernel_write,
which need device path.
In addition, i have no idea how to use UUID and/or label to do general
read/write on kernel layer, can you give me a tip?

>> +
>> +- dmesg-size: maximum size in kbytes of each dump done on oops, which must be a
>> + multiple of 4.
>> +
>> +- pmsg-size: maximum size in kbytes for userspace messages, which must be a
>> + multiple of 4.
>
> Common properties shared with ramoops should be in a common doc.
>

The size limit are different. Size for ramoops must be power of 2, but
be a multiple of 4k for pstore/blk.

> Rob
>

--
liaoweixiong