All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Guo <shawnguo@kernel.org>
To: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>
Cc: s.hauer@pengutronix.de, kernel@pengutronix.de,
	festevam@gmail.com, linux-imx@nxp.com, aisheng.dong@nxp.com,
	alexander.stein@ew.tq-group.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Robin Gong <yibin.gong@nxp.com>,
	Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH V5 6/9] firmware: imx: scu-irq: fix RCU complains after M4 partition reset
Date: Mon, 7 Aug 2023 11:13:09 +0800	[thread overview]
Message-ID: <20230807031309.GO151430@dragon> (raw)
In-Reply-To: <20230731090449.2845997-7-peng.fan@oss.nxp.com>

On Mon, Jul 31, 2023 at 05:04:46PM +0800, Peng Fan (OSS) wrote:
> From: Robin Gong <yibin.gong@nxp.com>
> 
> Use blocking_notifier_chain instead of atomic_notifier_chain, otherwise
> below RCU complains would come out since unregister/register_virtio_device

s/complains/complaint, and in subject too.

> () will issue mbox message (mbox_send_message() is blocking) again after

The () should be on the same line as register_virtio_device.

> received M4 partition reset. Actually, no need atomic for notifier which

there is no need of atomic for ...?

Shawn

> is so tough for user since this notifier is called in worker instead of
> interrupt handler directly.
> 
> [  389.706645] i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: i2c rpmsg driver is removed
> [  389.767362] Wait for remote ready timeout, use first_notify.
> [  389.774084] ------------[ cut here ]------------
> [  389.778729] WARNING: CPU: 0 PID: 397 at kernel/rcu/tree_plugin.h:293 rcu_note_context_switch+0x34/0x338
> [  389.788131] Modules linked in:
> [  389.791195] CPU: 0 PID: 397 Comm: kworker/0:13 Not tainted 5.4.0-rc5-02977-g08f78722f07b #26
> [  389.799633] Hardware name: Freescale i.MX8DXL Phantom MEK (DT)
> [  389.805481] Workqueue: events imx_scu_irq_work_handler
> 
> Signed-off-by: Robin Gong <yibin.gong@nxp.com>
> Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/firmware/imx/imx-scu-irq.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/firmware/imx/imx-scu-irq.c b/drivers/firmware/imx/imx-scu-irq.c
> index d9dcc20945c6..4408f150b3d5 100644
> --- a/drivers/firmware/imx/imx-scu-irq.c
> +++ b/drivers/firmware/imx/imx-scu-irq.c
> @@ -42,25 +42,25 @@ struct imx_sc_msg_irq_enable {
>  
>  static struct imx_sc_ipc *imx_sc_irq_ipc_handle;
>  static struct work_struct imx_sc_irq_work;
> -static ATOMIC_NOTIFIER_HEAD(imx_scu_irq_notifier_chain);
> +static BLOCKING_NOTIFIER_HEAD(imx_scu_irq_notifier_chain);
>  
>  int imx_scu_irq_register_notifier(struct notifier_block *nb)
>  {
> -	return atomic_notifier_chain_register(
> +	return blocking_notifier_chain_register(
>  		&imx_scu_irq_notifier_chain, nb);
>  }
>  EXPORT_SYMBOL(imx_scu_irq_register_notifier);
>  
>  int imx_scu_irq_unregister_notifier(struct notifier_block *nb)
>  {
> -	return atomic_notifier_chain_unregister(
> +	return blocking_notifier_chain_unregister(
>  		&imx_scu_irq_notifier_chain, nb);
>  }
>  EXPORT_SYMBOL(imx_scu_irq_unregister_notifier);
>  
>  static int imx_scu_irq_notifier_call_chain(unsigned long status, u8 *group)
>  {
> -	return atomic_notifier_call_chain(&imx_scu_irq_notifier_chain,
> +	return blocking_notifier_call_chain(&imx_scu_irq_notifier_chain,
>  		status, (void *)group);
>  }
>  
> -- 
> 2.37.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo@kernel.org>
To: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>
Cc: s.hauer@pengutronix.de, kernel@pengutronix.de,
	festevam@gmail.com, linux-imx@nxp.com, aisheng.dong@nxp.com,
	alexander.stein@ew.tq-group.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Robin Gong <yibin.gong@nxp.com>,
	Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH V5 6/9] firmware: imx: scu-irq: fix RCU complains after M4 partition reset
Date: Mon, 7 Aug 2023 11:13:09 +0800	[thread overview]
Message-ID: <20230807031309.GO151430@dragon> (raw)
In-Reply-To: <20230731090449.2845997-7-peng.fan@oss.nxp.com>

On Mon, Jul 31, 2023 at 05:04:46PM +0800, Peng Fan (OSS) wrote:
> From: Robin Gong <yibin.gong@nxp.com>
> 
> Use blocking_notifier_chain instead of atomic_notifier_chain, otherwise
> below RCU complains would come out since unregister/register_virtio_device

s/complains/complaint, and in subject too.

> () will issue mbox message (mbox_send_message() is blocking) again after

The () should be on the same line as register_virtio_device.

> received M4 partition reset. Actually, no need atomic for notifier which

there is no need of atomic for ...?

Shawn

> is so tough for user since this notifier is called in worker instead of
> interrupt handler directly.
> 
> [  389.706645] i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: i2c rpmsg driver is removed
> [  389.767362] Wait for remote ready timeout, use first_notify.
> [  389.774084] ------------[ cut here ]------------
> [  389.778729] WARNING: CPU: 0 PID: 397 at kernel/rcu/tree_plugin.h:293 rcu_note_context_switch+0x34/0x338
> [  389.788131] Modules linked in:
> [  389.791195] CPU: 0 PID: 397 Comm: kworker/0:13 Not tainted 5.4.0-rc5-02977-g08f78722f07b #26
> [  389.799633] Hardware name: Freescale i.MX8DXL Phantom MEK (DT)
> [  389.805481] Workqueue: events imx_scu_irq_work_handler
> 
> Signed-off-by: Robin Gong <yibin.gong@nxp.com>
> Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/firmware/imx/imx-scu-irq.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/firmware/imx/imx-scu-irq.c b/drivers/firmware/imx/imx-scu-irq.c
> index d9dcc20945c6..4408f150b3d5 100644
> --- a/drivers/firmware/imx/imx-scu-irq.c
> +++ b/drivers/firmware/imx/imx-scu-irq.c
> @@ -42,25 +42,25 @@ struct imx_sc_msg_irq_enable {
>  
>  static struct imx_sc_ipc *imx_sc_irq_ipc_handle;
>  static struct work_struct imx_sc_irq_work;
> -static ATOMIC_NOTIFIER_HEAD(imx_scu_irq_notifier_chain);
> +static BLOCKING_NOTIFIER_HEAD(imx_scu_irq_notifier_chain);
>  
>  int imx_scu_irq_register_notifier(struct notifier_block *nb)
>  {
> -	return atomic_notifier_chain_register(
> +	return blocking_notifier_chain_register(
>  		&imx_scu_irq_notifier_chain, nb);
>  }
>  EXPORT_SYMBOL(imx_scu_irq_register_notifier);
>  
>  int imx_scu_irq_unregister_notifier(struct notifier_block *nb)
>  {
> -	return atomic_notifier_chain_unregister(
> +	return blocking_notifier_chain_unregister(
>  		&imx_scu_irq_notifier_chain, nb);
>  }
>  EXPORT_SYMBOL(imx_scu_irq_unregister_notifier);
>  
>  static int imx_scu_irq_notifier_call_chain(unsigned long status, u8 *group)
>  {
> -	return atomic_notifier_call_chain(&imx_scu_irq_notifier_chain,
> +	return blocking_notifier_call_chain(&imx_scu_irq_notifier_chain,
>  		status, (void *)group);
>  }
>  
> -- 
> 2.37.1
> 

  reply	other threads:[~2023-08-07  3:13 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-31  9:04 [PATCH V5 0/9] firmware: imx: scu/scu-irq: misc update Peng Fan (OSS)
2023-07-31  9:04 ` Peng Fan (OSS)
2023-07-31  9:04 ` [PATCH V5 1/9] firmware: imx: scu: change init level to subsys_initcall_sync Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-07-31  9:04 ` [PATCH V5 2/9] firmware: imx: scu: increase RPC timeout Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  2:27   ` Shawn Guo
2023-08-07  2:27     ` Shawn Guo
2023-07-31  9:04 ` [PATCH V5 3/9] firmware: imx: scu: drop return value check Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  2:33   ` Shawn Guo
2023-08-07  2:33     ` Shawn Guo
2023-08-07  3:00     ` Peng Fan
2023-08-07  3:00       ` Peng Fan
2023-07-31  9:04 ` [PATCH V5 4/9] firmware: imx: scu: use soc name for soc_id Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  2:51   ` Shawn Guo
2023-08-07  2:51     ` Shawn Guo
2023-07-31  9:04 ` [PATCH V5 5/9] firmware: imx: scu: use EOPNOTSUPP Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  2:54   ` Shawn Guo
2023-08-07  2:54     ` Shawn Guo
2023-08-07  2:57     ` Peng Fan
2023-08-07  2:57       ` Peng Fan
2023-08-07  3:14       ` Shawn Guo
2023-08-07  3:14         ` Shawn Guo
2023-07-31  9:04 ` [PATCH V5 6/9] firmware: imx: scu-irq: fix RCU complains after M4 partition reset Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  3:13   ` Shawn Guo [this message]
2023-08-07  3:13     ` Shawn Guo
2023-08-07  3:28     ` Peng Fan
2023-08-07  3:28       ` Peng Fan
2023-07-31  9:04 ` [PATCH V5 7/9] firmware: imx: scu-irq: export imx_scu_irq_get_status Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  3:17   ` Shawn Guo
2023-08-07  3:17     ` Shawn Guo
2023-07-31  9:04 ` [PATCH V5 8/9] firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-07-31  9:04 ` [PATCH V5 9/9] firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs Peng Fan (OSS)
2023-07-31  9:04   ` Peng Fan (OSS)
2023-08-07  3:47   ` Shawn Guo
2023-08-07  3:47     ` Shawn Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230807031309.GO151430@dragon \
    --to=shawnguo@kernel.org \
    --cc=aisheng.dong@nxp.com \
    --cc=alexander.stein@ew.tq-group.com \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peng.fan@nxp.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=s.hauer@pengutronix.de \
    --cc=yibin.gong@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.