From patchwork Tue May 5 15:45:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 201076 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1523C47247 for ; Tue, 5 May 2020 15:45:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C099C206B9 for ; Tue, 5 May 2020 15:45:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="T00n5b+o" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730685AbgEEPpP (ORCPT ); Tue, 5 May 2020 11:45:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730681AbgEEPpP (ORCPT ); Tue, 5 May 2020 11:45:15 -0400 Received: from mail-qt1-x844.google.com (mail-qt1-x844.google.com [IPv6:2607:f8b0:4864:20::844]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB645C061A0F for ; Tue, 5 May 2020 08:45:14 -0700 (PDT) Received: by mail-qt1-x844.google.com with SMTP id i68so2316131qtb.5 for ; Tue, 05 May 2020 08:45:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=F+4SVdWRlFJxnpjgzasS5JspfSz6j1yd8grF/PAppTQ=; b=T00n5b+oSujUoVq9Z+LR8fGuvltBcys+J/cMjZ43GxX17HfOte90BRwC0yFHgeloy3 g33W9r3kpjfiEzl6XkZ6QbPSadqWfexzoHSKY5+3OTIIydoF6N3C9+fABrvRoK76orMY dzMuRaIvGNLq6U7Q9x1esMQo+HwKM6Hr7KP75s1/W8mVOZXgh27RBt/sZQS+xOJobww/ Ge6yNUjO90b+9imM+W9uQnEJ93L5bAcmHgIyZrDT2kBnh21vlzD2pDW7VYBMGqrHvWkL +eBsdRU8EL/Qu0ygBSlcxtVhubdqfa/Y5ngJc7GolQwHiRiPdPJCmTLZE3FOvoKebrGm 4nOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F+4SVdWRlFJxnpjgzasS5JspfSz6j1yd8grF/PAppTQ=; b=VWBN0rB4UrMi1cJYEl/VRNJkgI7pNce8H1KbRrK7A4DgZWbAhk1dpezYoqo93Xd65z U7nDiFYiG211btdAxmfLHMdsaxMMKIy+XEdtUTL748WnqNX+6zG3S1XSYIw2gegLlT85 2dBjEzAwELnMgyU7HCXq3uqO/eaiiJXk8m/win7nCS1Y7FQyGkBmwvbPThJbWtd9ogOz JUB7c/nx2ojoky3OB0SpwAixXJXXaTFzLpMojhCShmOfQpxePQ8wwZ0jUtQHtZKpZKZV fkKW3wxtSFhhjnDZ0liQbwL6mH/yxrxQRppjLzjhSUdLbylJ6IF1K9ZVy5ZK1vDMfEWT zJUg== X-Gm-Message-State: AGi0PuYZCnPpco3fgSjqkz9VuvRLtpoFC6VXYdbzQx/cH1WdwmHaCLxx /iO0K/nX6Vvx+/lLaLgFfwRfRg== X-Google-Smtp-Source: APiQypIYfkAPNj3MZ2vxjqvBSwGBRWN0NaGzZ5h6LwCTvoMZorwTkHaSbpnD+l7igUu8/0J3u8897w== X-Received: by 2002:ac8:6f03:: with SMTP id g3mr3220891qtv.10.1588693514106; Tue, 05 May 2020 08:45:14 -0700 (PDT) Received: from localhost.localdomain (c-73-69-118-222.hsd1.nh.comcast.net. [73.69.118.222]) by smtp.gmail.com with ESMTPSA id x7sm2122407qkx.36.2020.05.05.08.45.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2020 08:45:13 -0700 (PDT) From: Pavel Tatashin To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, linux-kernel@vger.kernel.org, pmladek@suse.com, sergey.senozhatsky@gmail.com, rostedt@goodmis.org, keescook@chromium.org, anton@enomsg.org, ccross@android.com, tony.luck@intel.com, robh+dt@kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 1/5] printk: honor the max_reason field in kmsg_dumper Date: Tue, 5 May 2020 11:45:06 -0400 Message-Id: <20200505154510.93506-2-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200505154510.93506-1-pasha.tatashin@soleen.com> References: <20200505154510.93506-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org kmsg_dump() allows to dump kmesg buffer for various system events: oops, panic, reboot, etc. It provides an interface to register a callback call for clients, and in that callback interface there is a field "max_reason" which gets ignored unless always_kmsg_dump is passed as kernel parameter. Allow clients to decide max_reason, and keep the current behavior when max_reason is not set. Signed-off-by: Pavel Tatashin --- include/linux/kmsg_dump.h | 1 + kernel/printk/printk.c | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index 2e7a1e032c71..cfc042066be7 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h @@ -28,6 +28,7 @@ enum kmsg_dump_reason { KMSG_DUMP_RESTART, KMSG_DUMP_HALT, KMSG_DUMP_POWEROFF, + KMSG_DUMP_MAX }; /** diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 9a9b6156270b..1aab69a8a2bf 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -3157,12 +3157,19 @@ void kmsg_dump(enum kmsg_dump_reason reason) struct kmsg_dumper *dumper; unsigned long flags; - if ((reason > KMSG_DUMP_OOPS) && !always_kmsg_dump) - return; - rcu_read_lock(); list_for_each_entry_rcu(dumper, &dump_list, list) { - if (dumper->max_reason && reason > dumper->max_reason) + enum kmsg_dump_reason cur_reason = dumper->max_reason; + + /* + * If client has not provided a specific max_reason, default + * to KMSG_DUMP_OOPS, unless always_kmsg_dump was set. + */ + if (cur_reason == KMSG_DUMP_UNDEF) { + cur_reason = always_kmsg_dump ? KMSG_DUMP_MAX : + KMSG_DUMP_OOPS; + } + if (reason > cur_reason) continue; /* initialize iterator with data about the stored records */ From patchwork Tue May 5 15:45:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 201077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5FE27C4725A for ; Tue, 5 May 2020 15:45:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 401302085B for ; Tue, 5 May 2020 15:45:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="cczj7UwF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730742AbgEEPpd (ORCPT ); Tue, 5 May 2020 11:45:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730695AbgEEPpR (ORCPT ); Tue, 5 May 2020 11:45:17 -0400 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D576C061A0F for ; Tue, 5 May 2020 08:45:16 -0700 (PDT) Received: by mail-qk1-x744.google.com with SMTP id g185so2735303qke.7 for ; Tue, 05 May 2020 08:45:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=lLfGQdqFMPUzVPvaSstChPdTkWTfxzSBzkaUwWkOF9M=; b=cczj7UwFD1mCMdDfMAXJ/38Ds0Ze5+lK4Q6bzE/3IQlKFMk1rHMnOCNc8AsIDC9WJu 6bO3K1gLfcoqVrau36MNNjzgeneWfilFCFbYAfiSfvWistTAQoiTOJtdlL5i6+Ig0rnG GN0UzdCAx3eT/B1LP5jzYupMUWF3wXXP/sZu8QKBBS514jzQUOpWSJtdD2BGOawmw+UT LvR5cf4Pe3jE+cusB3x2uxAJcE3UQ1dI3ohxViK7AsgENn3sqlq+eTjoupwBR7p6D3oS 3ZUifXJJVwnRLab6Hxu+RAx0qD3DDlLxvGErceh0b1/BSg/7jGGh7/DLU0/VxG2hoDOD Z6aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lLfGQdqFMPUzVPvaSstChPdTkWTfxzSBzkaUwWkOF9M=; b=fW6utz2Z7ZhXGZ/3iciMogaaQK4NxAfppgzbfb3tdTirgqJWc5t88FTX22GgiwVeTu KaihzkMlFYA9vMXBul7ho5a8ZPh9Yez9RCoanq8KELpTGF6khOyr8YCO9XFdAbXXeC2e 0nVIVLmxkWcgT6naFs3Z0/KJko3x9CuiV8ANjApJXcuoJW4BuAG5mNbVzNKUzSNf7EcJ NtrA4/k2SbYtgLC3oY2jGhIF5+Kn2s5C/IDbscj49wBBZ+0hZFeipiYRNIj3C8CfHEaG hOidmcfpeadkPIoZznjtuSUFOuDQ+/rob0vT+fjuM5W6cw9cCig6MBkSTTRtKNYiRM84 RU5A== X-Gm-Message-State: AGi0PuYbL01KXYIsLJ5PTOg9sJmgwo7K7OIlzvo3WlthBUjRgiQG3p/1 glgUMHuHw4RZFn6n1t5mpZmnqw== X-Google-Smtp-Source: APiQypIOFXJGyg9UafreFIFeAppzDzDB/7jIORZ/D4iGYlJfYpvYbw7v6WT0a0Xa5lJKXoQ1+Zynog== X-Received: by 2002:a05:620a:2042:: with SMTP id d2mr3998565qka.295.1588693515647; Tue, 05 May 2020 08:45:15 -0700 (PDT) Received: from localhost.localdomain (c-73-69-118-222.hsd1.nh.comcast.net. [73.69.118.222]) by smtp.gmail.com with ESMTPSA id x7sm2122407qkx.36.2020.05.05.08.45.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2020 08:45:14 -0700 (PDT) From: Pavel Tatashin To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, linux-kernel@vger.kernel.org, pmladek@suse.com, sergey.senozhatsky@gmail.com, rostedt@goodmis.org, keescook@chromium.org, anton@enomsg.org, ccross@android.com, tony.luck@intel.com, robh+dt@kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 2/5] pstore/platform: pass max_reason to kmesg dump Date: Tue, 5 May 2020 11:45:07 -0400 Message-Id: <20200505154510.93506-3-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200505154510.93506-1-pasha.tatashin@soleen.com> References: <20200505154510.93506-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Add a new field to pstore_info that passes information about kmesg dump maximum reason. This allows a finer control of what kmesg dumps are stored on pstore device. Those clients that do not explicitly set this field (keep it equal to 0), get the default behavior: dump only Oops and Panics, and dump everything if printk.always_kmsg_dump is provided. Signed-off-by: Pavel Tatashin --- fs/pstore/platform.c | 4 +++- include/linux/pstore.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 408277ee3cdb..75bf8a43f92a 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -602,8 +602,10 @@ int pstore_register(struct pstore_info *psi) if (pstore_is_mounted()) pstore_get_records(0); - if (psi->flags & PSTORE_FLAGS_DMESG) + if (psi->flags & PSTORE_FLAGS_DMESG) { + pstore_dumper.max_reason = psinfo->max_reason; pstore_register_kmsg(); + } if (psi->flags & PSTORE_FLAGS_CONSOLE) pstore_register_console(); if (psi->flags & PSTORE_FLAGS_FTRACE) diff --git a/include/linux/pstore.h b/include/linux/pstore.h index e779441e6d26..45ae424bfeb5 100644 --- a/include/linux/pstore.h +++ b/include/linux/pstore.h @@ -97,6 +97,8 @@ struct pstore_record { * @read_mutex: serializes @open, @read, @close, and @erase callbacks * @flags: bitfield of frontends the backend can accept writes for * @data: backend-private pointer passed back during callbacks + * @max_reason: Used when PSTORE_FLAGS_DMESG is set. Contains the + * kmsg_dump_reason enum value. * * Callbacks: * @@ -180,6 +182,7 @@ struct pstore_info { int flags; void *data; + int max_reason; int (*open)(struct pstore_info *psi); int (*close)(struct pstore_info *psi); From patchwork Tue May 5 15:45:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 201078 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78313C47247 for ; Tue, 5 May 2020 15:45:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5744820746 for ; Tue, 5 May 2020 15:45:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="YCLaXzRx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730711AbgEEPpV (ORCPT ); Tue, 5 May 2020 11:45:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730706AbgEEPpU (ORCPT ); Tue, 5 May 2020 11:45:20 -0400 Received: from mail-qv1-xf44.google.com (mail-qv1-xf44.google.com [IPv6:2607:f8b0:4864:20::f44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1E27C061A0F for ; Tue, 5 May 2020 08:45:19 -0700 (PDT) Received: by mail-qv1-xf44.google.com with SMTP id p13so1200150qvt.12 for ; Tue, 05 May 2020 08:45:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qornXbYFne24kTDVtG6Enzv9EKW/vIs7l4wKHWNfM5w=; b=YCLaXzRxdW1HgmXu0HMwAyHhL3W1VAocPqoaft1CNoCmk9GizehVnh747vjwl7Qs1A OEE0QAHvwJup+Zcnrg5keJItQuuMiXYPcf526bzKkYu4RoJ3ywo3uLeZzx3vSSz5/ONl FaSUiGTaVXPfTz1gydhl03moYiuc7uJrmqiNQC0Zjg9fJTTptYOOjWBf0jB5yM1pxICE po6d6hckIZ4vSW/5GVg09a2Gp/XDyEdWn4KJ02eq/krECsUe5tNKcmWKSjJnz64uoL/T ihu47TlHcT700IeLpCbp1wDqVDYSRYYZs+U7hPNFyGTgxtoizTq0t5P3i8hQAt/q3icr BFaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qornXbYFne24kTDVtG6Enzv9EKW/vIs7l4wKHWNfM5w=; b=ptqq+EsRIhks9rWOvQyeyNiHiYIJLNqU5ieA/xWWIgOuuqfLQjYF1pZksvX33EO4Kw Xr5+Fr9IKYENvFyz4Jt/Hf0/3hOcwhl3UO+9u6mYGf3vgoxxo0rvF/5jub651lAUgBTW m0fHmwI2ZAtzVoyIEucd59GjasCprwyuXJoeMZ8izkGAlwTbto475gtYfTsyOTGPHsvz n8sSus7yvASgD3Xrdz+M6OTn2oEnRnBq0qfC1iYZh07ijtQt2MAcY3Cx9TQmGxlDaTxG ww5Q1WE2C8l4/B/O7U1WTbde1wXlcVEsgOuM7cZb9sTUy7UgI7xf5FFxBHZ6GQry9JHs 0K1w== X-Gm-Message-State: AGi0Pubf2DZZKv5xjOQVB6ktQrEYHjMTExj0uZP1ap01lM1jsuP5osnr bqY6b0hwQriZRHZ685vM8v/DJQ== X-Google-Smtp-Source: APiQypKOFMcc9GEvOQJqwkzSq9CotVdQlcXS8ndJUOA9atjU1WXUwDMJpaBxoZOBlRcA2TyAnGIlnA== X-Received: by 2002:a0c:b604:: with SMTP id f4mr3373148qve.40.1588693519032; Tue, 05 May 2020 08:45:19 -0700 (PDT) Received: from localhost.localdomain (c-73-69-118-222.hsd1.nh.comcast.net. [73.69.118.222]) by smtp.gmail.com with ESMTPSA id x7sm2122407qkx.36.2020.05.05.08.45.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2020 08:45:18 -0700 (PDT) From: Pavel Tatashin To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, linux-kernel@vger.kernel.org, pmladek@suse.com, sergey.senozhatsky@gmail.com, rostedt@goodmis.org, keescook@chromium.org, anton@enomsg.org, ccross@android.com, tony.luck@intel.com, robh+dt@kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 4/5] pstore/ram: allow to dump kmesg during regular reboot Date: Tue, 5 May 2020 11:45:09 -0400 Message-Id: <20200505154510.93506-5-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200505154510.93506-1-pasha.tatashin@soleen.com> References: <20200505154510.93506-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Currently, ramoops is capable to collect dmesg buffer only during panic and oops events. However, it is desirable to optionally allow collecting dmesg buffers during other events as well: reboot, kexec, emergency reboot etc. While, a similar functionality is provided by pstore console it is not the same. Often, console message level is reduced in production due to baud rate limitation of serial consoles. Having a noisy console reduces the boot performance. Thus, if the shutdown dmesg buffer is needed to study the shutdown performance, it is currently not possible to do so with console as by increasing the console output the shutdown time substantially increases as well. Signed-off-by: Pavel Tatashin --- fs/pstore/ram.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index 223581aeea96..568d9911beae 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c @@ -60,7 +60,12 @@ MODULE_PARM_DESC(mem_type, static int dump_oops = 1; module_param(dump_oops, int, 0600); MODULE_PARM_DESC(dump_oops, - "set to 1 to dump oopses, 0 to only dump panics (default 1)"); + "set to 1 to dump oopses, 0 to only dump panics (default 1), deprecated use max_reason instead"); + +static int max_reason; +module_param(max_reason, int, 0400); +MODULE_PARM_DESC(max_reason, + "maximum reason for kmsg dump. (default 2) "); static int ramoops_ecc; module_param_named(ecc, ramoops_ecc, int, 0600); @@ -689,6 +694,7 @@ static int ramoops_parse_dt(struct platform_device *pdev, parse_size("pmsg-size", pdata->pmsg_size); parse_size("ecc-size", pdata->ecc_info.ecc_size); parse_size("flags", pdata->flags); + parse_size("max_reason", pdata->max_reason); #undef parse_size @@ -939,6 +945,7 @@ static void __init ramoops_register_dummy(void) pdata.console_size = ramoops_console_size; pdata.ftrace_size = ramoops_ftrace_size; pdata.pmsg_size = ramoops_pmsg_size; + pdata.max_reason = max_reason; pdata.flags = RAMOOPS_FLAG_FTRACE_PER_CPU; /*