2023-07-17 23:45:59

by Rob Barnes

[permalink] [raw]
Subject: [PATCH] drivers/cros_ec: Emergency sync filesystem on EC panic

Perform an emergency filesystem sync when an EC panic is reported. An
emergency sync actually performs two syncs internally in case some
inodes or pages are temporarily locked.

hw_protection_shutdown is replaced for a few reasons. It is unnecessary
because the EC will force reset either way. hw_protection_shutdown does
not reliably sync filesystem before shutting down. emergency_sync is not
synchronous so hw_protection_shutdown may interrupt emergency_sync.

Signed-off-by: Rob Barnes <[email protected]>
---

drivers/platform/chrome/cros_ec_lpc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
index 500a61b093e47..9652fc073c2a4 100644
--- a/drivers/platform/chrome/cros_ec_lpc.c
+++ b/drivers/platform/chrome/cros_ec_lpc.c
@@ -327,8 +327,8 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data)
dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!");
blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev);
kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env);
- /* Begin orderly shutdown. Force shutdown after 1 second. */
- hw_protection_shutdown("CrOS EC Panic", 1000);
+ /* Force sync the filesystem before EC resets */
+ emergency_sync();
/* Do not query for other events after a panic is reported */
return;
}
--
2.41.0.255.g8b1d071c50-goog



2023-07-18 00:46:00

by Benson Leung

[permalink] [raw]
Subject: Re: [PATCH] drivers/cros_ec: Emergency sync filesystem on EC panic

Hi Rob,

On Mon, Jul 17, 2023 at 4:29 PM Rob Barnes <[email protected]> wrote:
>
> Perform an emergency filesystem sync when an EC panic is reported. An
> emergency sync actually performs two syncs internally in case some
> inodes or pages are temporarily locked.
>
> hw_protection_shutdown is replaced for a few reasons. It is unnecessary
> because the EC will force reset either way. hw_protection_shutdown does
> not reliably sync filesystem before shutting down. emergency_sync is not
> synchronous so hw_protection_shutdown may interrupt emergency_sync.
>
> Signed-off-by: Rob Barnes <[email protected]>

Reviewed-by: Benson Leung <[email protected]>


> ---
>
> drivers/platform/chrome/cros_ec_lpc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
> index 500a61b093e47..9652fc073c2a4 100644
> --- a/drivers/platform/chrome/cros_ec_lpc.c
> +++ b/drivers/platform/chrome/cros_ec_lpc.c
> @@ -327,8 +327,8 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data)
> dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!");
> blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev);
> kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env);
> - /* Begin orderly shutdown. Force shutdown after 1 second. */
> - hw_protection_shutdown("CrOS EC Panic", 1000);
> + /* Force sync the filesystem before EC resets */
> + emergency_sync();
> /* Do not query for other events after a panic is reported */
> return;
> }
> --
> 2.41.0.255.g8b1d071c50-goog
>


--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
[email protected]
Chromium OS Project
[email protected]

2023-07-18 00:51:14

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] drivers/cros_ec: Emergency sync filesystem on EC panic

On Mon, Jul 17, 2023 at 4:29 PM Rob Barnes <[email protected]> wrote:
>
> Perform an emergency filesystem sync when an EC panic is reported. An
> emergency sync actually performs two syncs internally in case some
> inodes or pages are temporarily locked.
>
> hw_protection_shutdown is replaced for a few reasons. It is unnecessary
> because the EC will force reset either way. hw_protection_shutdown does
> not reliably sync filesystem before shutting down. emergency_sync is not
> synchronous so hw_protection_shutdown may interrupt emergency_sync.
>
> Signed-off-by: Rob Barnes <[email protected]>

Makes sense.

Reviewed-by: Guenter Roeck <[email protected]>

> ---
>
> drivers/platform/chrome/cros_ec_lpc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
> index 500a61b093e47..9652fc073c2a4 100644
> --- a/drivers/platform/chrome/cros_ec_lpc.c
> +++ b/drivers/platform/chrome/cros_ec_lpc.c
> @@ -327,8 +327,8 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data)
> dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!");
> blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev);
> kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env);
> - /* Begin orderly shutdown. Force shutdown after 1 second. */
> - hw_protection_shutdown("CrOS EC Panic", 1000);
> + /* Force sync the filesystem before EC resets */
> + emergency_sync();
> /* Do not query for other events after a panic is reported */
> return;
> }
> --
> 2.41.0.255.g8b1d071c50-goog
>

Subject: Re: [PATCH] drivers/cros_ec: Emergency sync filesystem on EC panic

Hello:

This patch was applied to chrome-platform/linux.git (for-kernelci)
by Tzung-Bi Shih <[email protected]>:

On Mon, 17 Jul 2023 23:29:32 +0000 you wrote:
> Perform an emergency filesystem sync when an EC panic is reported. An
> emergency sync actually performs two syncs internally in case some
> inodes or pages are temporarily locked.
>
> hw_protection_shutdown is replaced for a few reasons. It is unnecessary
> because the EC will force reset either way. hw_protection_shutdown does
> not reliably sync filesystem before shutting down. emergency_sync is not
> synchronous so hw_protection_shutdown may interrupt emergency_sync.
>
> [...]

Here is the summary with links:
- drivers/cros_ec: Emergency sync filesystem on EC panic
https://git.kernel.org/chrome-platform/c/a6edd5f5d9cc

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



Subject: Re: [PATCH] drivers/cros_ec: Emergency sync filesystem on EC panic

Hello:

This patch was applied to chrome-platform/linux.git (for-next)
by Tzung-Bi Shih <[email protected]>:

On Mon, 17 Jul 2023 23:29:32 +0000 you wrote:
> Perform an emergency filesystem sync when an EC panic is reported. An
> emergency sync actually performs two syncs internally in case some
> inodes or pages are temporarily locked.
>
> hw_protection_shutdown is replaced for a few reasons. It is unnecessary
> because the EC will force reset either way. hw_protection_shutdown does
> not reliably sync filesystem before shutting down. emergency_sync is not
> synchronous so hw_protection_shutdown may interrupt emergency_sync.
>
> [...]

Here is the summary with links:
- drivers/cros_ec: Emergency sync filesystem on EC panic
https://git.kernel.org/chrome-platform/c/a6edd5f5d9cc

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html