lkml.org 
[lkml]   [2024]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH AUTOSEL 5.4 6/8] clk: Don't hold prepare_lock when calling kref_put()
From
Date
Quoting Sasha Levin (2024-04-23 04:03:01)
> From: Stephen Boyd <sboyd@kernel.org>
>
> [ Upstream commit 6f63af7511e7058f3fa4ad5b8102210741c9f947 ]
>
> We don't need to hold the prepare_lock when dropping a ref on a struct
> clk_core. The release function is only freeing memory and any code with
> a pointer reference has already unlinked anything pointing to the
> clk_core. This reduces the holding area of the prepare_lock a bit.
>
> Note that we also don't call free_clk() with the prepare_lock held.
> There isn't any reason to do that.

You'll want the patch before this, 8358a76cfb47 ("clk: Remove
prepare_lock hold assertion in __clk_release()"), to avoid lockdep
warnings. And it looks like the problem was reported on v5.15.y so all
5 patches from the series would need a backport.

8358a76cfb47 clk: Remove prepare_lock hold assertion in __clk_release()
6f63af7511e7 clk: Don't hold prepare_lock when calling kref_put()
9d05ae531c2c clk: Initialize struct clk_core kref earlier
e581cf5d2162 clk: Get runtime PM before walking tree during disable_unused
9d1e795f754d clk: Get runtime PM before walking tree for clk_summary

\
 
 \ /
  Last update: 2024-05-27 17:59    [W:0.490 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site