Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp196724imj; Thu, 14 Feb 2019 18:27:58 -0800 (PST) X-Google-Smtp-Source: AHgI3IY8MZPBSXG432lcHOMllzLk8l22hcKyNgLgZOKfro5q1E98j7jMDhtfzjk4kpv1Qck5ichv X-Received: by 2002:a17:902:2ac3:: with SMTP id j61mr7615002plb.185.1550197678528; Thu, 14 Feb 2019 18:27:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550197678; cv=none; d=google.com; s=arc-20160816; b=ISQfon4m5LHbCQZM35gJ+LMSXab8Ki6D/J49gAI62/tWW389sAwCaRwMDrGk9gg+/w baJVQooUjLOLZ30F2ghRVvP2DPOynCHqHB+cahsUJWkZuGrR1wowlCMkUkjYWs5PBbJ6 X+m1/KwrROaUYMxUSLtH90oiHQmtz/kf3UY0n2X+8u4oAmsh96Eksckjte5UcT1ePTSZ 7OYucc5hwaex3uLtYxZ/88oJgq+ZTe7+NOY+wLdkdd5Jy+EOLQh0A2qYCqZWfWgpSW4h LbDUYGO/XE8S0UIw7zJ1mPkzIPGEK4eZAIXz7WNGlqMqz/S/VA9B1Ws71P3pP+vRHOwI XC4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=95BjOeol59R7Ikuf1q8l4lOqJ4EExG6z3ICu98vQu1o=; b=1JoO6OScBa87/V9WW0KAaIhI/kWIGnhk4SXGjTiGUDCBAHEshw5B7XbbSz54C4eCTg gTBx+2qSed5r2r7GNS8vQ7UqDtYipak5XRHquTJSPIOkxSlQc+ABb7jZsE3fl4U/9Pku eEuZHMj2DgPUXX0aXynpozoEc9X0LxvTvzWXIwx9EH5CNmAPzBpqLGIMNTcCeZLypU+/ vJKgI+iGCmkS23znB+xhubw3jtd5CLvova+WAV0hKTHTdWSOVnIdQVVe5FT1F0C4D6Zo if2KIiyeCyiVuvoEw3pQrmpDd5wV4jxQnEP54AtAj8zxB3JnA9dQPCdXd19y77FLWxbA BiRw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f20si3879664pfn.122.2019.02.14.18.27.42; Thu, 14 Feb 2019 18:27:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727666AbfBOBGa (ORCPT + 99 others); Thu, 14 Feb 2019 20:06:30 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:51446 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726052AbfBOBGa (ORCPT ); Thu, 14 Feb 2019 20:06:30 -0500 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07436304|-1;CH=green;FP=0|0|0|0|0|-1|-1|-1;HT=e01a16367;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=16;RT=16;SR=0;TI=SMTPD_---.Dygmk1H_1550192783; Received: from 172.16.10.102(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.Dygmk1H_1550192783) by smtp.aliyun-inc.com(10.147.40.233); Fri, 15 Feb 2019 09:06:24 +0800 Subject: Re: [RFC v7 2/5] dt-bindings: pstore-block: new support for blkoops To: Rob Herring Cc: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , Jonathan Corbet , Mark Rutland , Mauro Carvalho Chehab , Greg Kroah-Hartman , "David S. Miller" , Andrew Morton , Nicolas Ferre , Arnd Bergmann , Linux Doc Mailing List , "linux-kernel@vger.kernel.org" , devicetree@vger.kernel.org References: <1548245116-6360-1-git-send-email-liaoweixiong@allwinnertech.com> <1548245116-6360-3-git-send-email-liaoweixiong@allwinnertech.com> <20190130160707.GA31844@bogus> From: liaoweixiong Message-ID: Date: Fri, 15 Feb 2019 09:06:57 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-02-14 04:30, Rob Herring wrote: > On Wed, Feb 13, 2019 at 7:51 AM liaoweixiong > wrote: >> >> >> 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 >>>> --- >>>> .../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. > > The partition table says how big a partition is. If you only want to > use part of it, then make the partition smaller or use a file system. > This is a solved problem, so we don't need a new way in DT to handle > this. > You are right, partition size is known and pstore/blk can get it automatically from specified block device. I will try to do it on next version patch. But i prefer to rename partition-size to total-size and move it to optional properties. Total-size means how big space pstore/blk can use. It is not only about partition size as pstore/blk can use ram if no partition specified. So, I will process as follow logic: 1. If specify total size, use total size. 2. If no total size but specify partition, get size from partition. >>>> +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? > > The kernel can mount a filesystem by label or UUID though I think > those are filesystem UUID and label, not partition UUID and label. But > certainly bootloaders find the EFI system partition by UUID. > As your words, those are file system UUID and label, not partition UUID/label. Pstore is a file system, there is no other file system any more for specified partition. Pstore/blk can't get specified partition by UUID or label. As far as i know, block device manager on user space scans each block device and matches file system table to get UUID and label. Not even all file systems have UUID/label. MTD device may has label, but it is not suitable for all block device. How if i cancel the prefix requirement for /dev and add it to the codes? Then rename partition-path to block-device, by this, DT property may be "mmcblk0p10" or "sda6" . > Rob > -- liaoweixiong