cgroup: minor cleanup for cgroup_local_stat_show()

Message ID 20230723031932.3152951-1-linmiaohe@huawei.com
State New
Headers
Series cgroup: minor cleanup for cgroup_local_stat_show() |

Commit Message

Miaohe Lin July 23, 2023, 3:19 a.m. UTC
  Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
called when CONFIG_CGROUP_SCHED. No functional change intended.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 kernel/cgroup/cgroup.c | 63 ++++++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 30 deletions(-)
  

Comments

Tejun Heo July 25, 2023, 9:53 p.m. UTC | #1
On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
> called when CONFIG_CGROUP_SCHED. No functional change intended.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Patch doesn't apply to cgroup/for-6.6. Can you please respin?

Thanks.
  
Miaohe Lin July 26, 2023, 1:06 a.m. UTC | #2
On 2023/7/26 5:53, Tejun Heo wrote:
> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
>> called when CONFIG_CGROUP_SCHED. No functional change intended.
>>
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> 
> Patch doesn't apply to cgroup/for-6.6. Can you please respin?

Sure. Will resend the patch based on cgroup/for-6.6.

Thanks.
  
Miaohe Lin July 27, 2023, 11:50 a.m. UTC | #3
On 2023/7/26 9:06, Miaohe Lin wrote:
> On 2023/7/26 5:53, Tejun Heo wrote:
>> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
>>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
>>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
>>> called when CONFIG_CGROUP_SCHED. No functional change intended.
>>>
>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>>
>> Patch doesn't apply to cgroup/for-6.6. Can you please respin?
> 
> Sure. Will resend the patch based on cgroup/for-6.6.

The commit "sched: add throttled time stat for throttled children" is still in the linux-next tree. So I think I have
to wait for it to be merged into cgroup tree first.

[1] https://lore.kernel.org/all/20230620183247.737942-2-joshdon@google.com/

Thanks.

> 
> Thanks.
> 
>
  
Tejun Heo July 31, 2023, 11:47 p.m. UTC | #4
On Thu, Jul 27, 2023 at 07:50:11PM +0800, Miaohe Lin wrote:
> On 2023/7/26 9:06, Miaohe Lin wrote:
> > On 2023/7/26 5:53, Tejun Heo wrote:
> >> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
> >>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
> >>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
> >>> called when CONFIG_CGROUP_SCHED. No functional change intended.
> >>>
> >>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> >>
> >> Patch doesn't apply to cgroup/for-6.6. Can you please respin?
> > 
> > Sure. Will resend the patch based on cgroup/for-6.6.
> 
> The commit "sched: add throttled time stat for throttled children" is still in the linux-next tree. So I think I have
> to wait for it to be merged into cgroup tree first.

You can just send the patch against cgroup/for-6.6 branch. We can sort out
the merge conflicts later.

Thanks.
  
Miaohe Lin Aug. 1, 2023, 7:48 a.m. UTC | #5
On 2023/8/1 7:47, Tejun Heo wrote:
> On Thu, Jul 27, 2023 at 07:50:11PM +0800, Miaohe Lin wrote:
>> On 2023/7/26 9:06, Miaohe Lin wrote:
>>> On 2023/7/26 5:53, Tejun Heo wrote:
>>>> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
>>>>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
>>>>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
>>>>> called when CONFIG_CGROUP_SCHED. No functional change intended.
>>>>>
>>>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>>>>
>>>> Patch doesn't apply to cgroup/for-6.6. Can you please respin?
>>>
>>> Sure. Will resend the patch based on cgroup/for-6.6.
>>
>> The commit "sched: add throttled time stat for throttled children" is still in the linux-next tree. So I think I have
>> to wait for it to be merged into cgroup tree first.
> 
> You can just send the patch against cgroup/for-6.6 branch. We can sort out
> the merge conflicts later.

Do you mean send the patch against cgroup/for-6.6 branch assuming commit "sched: add throttled time stat for throttled children"
has been merged into cgroup/for-6.6 branch? It seems the current code in that branch is fine itself.

Thanks for your advice.
  
Tejun Heo Aug. 2, 2023, 7:39 p.m. UTC | #6
On Tue, Aug 01, 2023 at 03:48:09PM +0800, Miaohe Lin wrote:
> On 2023/8/1 7:47, Tejun Heo wrote:
> > On Thu, Jul 27, 2023 at 07:50:11PM +0800, Miaohe Lin wrote:
> >> On 2023/7/26 9:06, Miaohe Lin wrote:
> >>> On 2023/7/26 5:53, Tejun Heo wrote:
> >>>> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
> >>>>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
> >>>>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
> >>>>> called when CONFIG_CGROUP_SCHED. No functional change intended.
> >>>>>
> >>>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> >>>>
> >>>> Patch doesn't apply to cgroup/for-6.6. Can you please respin?
> >>>
> >>> Sure. Will resend the patch based on cgroup/for-6.6.
> >>
> >> The commit "sched: add throttled time stat for throttled children" is still in the linux-next tree. So I think I have
> >> to wait for it to be merged into cgroup tree first.
> > 
> > You can just send the patch against cgroup/for-6.6 branch. We can sort out
> > the merge conflicts later.
> 
> Do you mean send the patch against cgroup/for-6.6 branch assuming commit "sched: add throttled time stat for throttled children"
> has been merged into cgroup/for-6.6 branch? It seems the current code in that branch is fine itself.

Ah, I see. That patch isn't going to go through cgroup/for-6.6. It will go
directly from -mm to mainline when the merge window opens. Can you please
resend the patch to Andrew Morton <akpm@linux-foundation.org> with me cc'd?

Thanks.
  
Miaohe Lin Aug. 3, 2023, 1:38 a.m. UTC | #7
On 2023/8/3 3:39, Tejun Heo wrote:
> On Tue, Aug 01, 2023 at 03:48:09PM +0800, Miaohe Lin wrote:
>> On 2023/8/1 7:47, Tejun Heo wrote:
>>> On Thu, Jul 27, 2023 at 07:50:11PM +0800, Miaohe Lin wrote:
>>>> On 2023/7/26 9:06, Miaohe Lin wrote:
>>>>> On 2023/7/26 5:53, Tejun Heo wrote:
>>>>>> On Sun, Jul 23, 2023 at 11:19:32AM +0800, Miaohe Lin wrote:
>>>>>>> Make it under CONFIG_CGROUP_SCHED to rid of __maybe_unused annotation.
>>>>>>> Also put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED as it's only
>>>>>>> called when CONFIG_CGROUP_SCHED. No functional change intended.
>>>>>>>
>>>>>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>>>>>>
>>>>>> Patch doesn't apply to cgroup/for-6.6. Can you please respin?
>>>>>
>>>>> Sure. Will resend the patch based on cgroup/for-6.6.
>>>>
>>>> The commit "sched: add throttled time stat for throttled children" is still in the linux-next tree. So I think I have
>>>> to wait for it to be merged into cgroup tree first.
>>>
>>> You can just send the patch against cgroup/for-6.6 branch. We can sort out
>>> the merge conflicts later.
>>
>> Do you mean send the patch against cgroup/for-6.6 branch assuming commit "sched: add throttled time stat for throttled children"
>> has been merged into cgroup/for-6.6 branch? It seems the current code in that branch is fine itself.
> 
> Ah, I see. That patch isn't going to go through cgroup/for-6.6. It will go
> directly from -mm to mainline when the merge window opens. Can you please
> resend the patch to Andrew Morton <akpm@linux-foundation.org> with me cc'd?
> 

Will do. Thanks. :)
  

Patch

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 31603146e7c2..7296331c7582 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -492,28 +492,6 @@  static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 		return &cgrp->self;
 }
 
-/**
- * cgroup_tryget_css - try to get a cgroup's css for the specified subsystem
- * @cgrp: the cgroup of interest
- * @ss: the subsystem of interest
- *
- * Find and get @cgrp's css associated with @ss.  If the css doesn't exist
- * or is offline, %NULL is returned.
- */
-static struct cgroup_subsys_state *cgroup_tryget_css(struct cgroup *cgrp,
-						     struct cgroup_subsys *ss)
-{
-	struct cgroup_subsys_state *css;
-
-	rcu_read_lock();
-	css = cgroup_css(cgrp, ss);
-	if (css && !css_tryget_online(css))
-		css = NULL;
-	rcu_read_unlock();
-
-	return css;
-}
-
 /**
  * cgroup_e_css_by_mask - obtain a cgroup's effective css for the specified ss
  * @cgrp: the cgroup of interest
@@ -3655,6 +3633,28 @@  static int cgroup_stat_show(struct seq_file *seq, void *v)
 }
 
 #ifdef CONFIG_CGROUP_SCHED
+/**
+ * cgroup_tryget_css - try to get a cgroup's css for the specified subsystem
+ * @cgrp: the cgroup of interest
+ * @ss: the subsystem of interest
+ *
+ * Find and get @cgrp's css associated with @ss.  If the css doesn't exist
+ * or is offline, %NULL is returned.
+ */
+static struct cgroup_subsys_state *cgroup_tryget_css(struct cgroup *cgrp,
+						     struct cgroup_subsys *ss)
+{
+	struct cgroup_subsys_state *css;
+
+	rcu_read_lock();
+	css = cgroup_css(cgrp, ss);
+	if (css && !css_tryget_online(css))
+		css = NULL;
+	rcu_read_unlock();
+
+	return css;
+}
+
 static int cgroup_extra_stat_show(struct seq_file *seq, int ssid)
 {
 	struct cgroup *cgrp = seq_css(seq)->cgroup;
@@ -3686,8 +3686,9 @@  static int cpu_stat_show(struct seq_file *seq, void *v)
 	return ret;
 }
 
-static int __maybe_unused cgroup_local_stat_show(struct seq_file *seq,
-						 struct cgroup *cgrp, int ssid)
+#ifdef CONFIG_CGROUP_SCHED
+static int cgroup_local_stat_show(struct seq_file *seq,
+				  struct cgroup *cgrp, int ssid)
 {
 	struct cgroup_subsys *ss = cgroup_subsys[ssid];
 	struct cgroup_subsys_state *css;
@@ -3707,14 +3708,16 @@  static int __maybe_unused cgroup_local_stat_show(struct seq_file *seq,
 
 static int cpu_local_stat_show(struct seq_file *seq, void *v)
 {
-	struct cgroup __maybe_unused *cgrp = seq_css(seq)->cgroup;
-	int ret = 0;
+	struct cgroup *cgrp = seq_css(seq)->cgroup;
 
-#ifdef CONFIG_CGROUP_SCHED
-	ret = cgroup_local_stat_show(seq, cgrp, cpu_cgrp_id);
-#endif
-	return ret;
+	return cgroup_local_stat_show(seq, cgrp, cpu_cgrp_id);
+}
+#else
+static int cpu_local_stat_show(struct seq_file *seq, void *v)
+{
+	return 0;
 }
+#endif
 
 #ifdef CONFIG_PSI
 static int cgroup_io_pressure_show(struct seq_file *seq, void *v)