* [PATCH] PM/wakeup: Add print_wakeup_sour_stats(m, &deleted_ws) @ 2019-10-21 8:51 zhuguangqing83 2019-11-08 11:34 ` Rafael J. Wysocki 0 siblings, 1 reply; 3+ messages in thread From: zhuguangqing83 @ 2019-10-21 8:51 UTC (permalink / raw) To: gregkh, rjw, pavel, len.brown; +Cc: linux-pm, linux-kernel, zhuguangqing From: zhuguangqing <zhuguangqing@xiaomi.com> After commit 00ee22c28915 (PM / wakeup: Use seq_open() to show wakeup stats), print_wakeup_source_stats(m, &deleted_ws) is deleted in function wakeup_sources_stats_seq_show(). Because deleted_ws is one of wakeup sources, so it should also be showed. This patch add it to the end of all other wakeup sources. Signed-off-by: zhuguangqing <zhuguangqing@xiaomi.com> --- drivers/base/power/wakeup.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index 5817b51d2b15..29e9434ccaaa 100644 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c @@ -1071,6 +1071,9 @@ static void *wakeup_sources_stats_seq_next(struct seq_file *m, break; } + if (&ws->entry == &wakeup_sources) + print_wakeup_source_stats(m, &deleted_ws); + return next_ws; } -- 2.17.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] PM/wakeup: Add print_wakeup_sour_stats(m, &deleted_ws) 2019-10-21 8:51 [PATCH] PM/wakeup: Add print_wakeup_sour_stats(m, &deleted_ws) zhuguangqing83 @ 2019-11-08 11:34 ` Rafael J. Wysocki 2019-11-09 6:37 ` guangqing zhu 0 siblings, 1 reply; 3+ messages in thread From: Rafael J. Wysocki @ 2019-11-08 11:34 UTC (permalink / raw) To: zhuguangqing83 Cc: gregkh, pavel, len.brown, linux-pm, linux-kernel, zhuguangqing On Monday, October 21, 2019 10:51:40 AM CET zhuguangqing83@gmail.com wrote: > From: zhuguangqing <zhuguangqing@xiaomi.com> > > After commit 00ee22c28915 (PM / wakeup: Use seq_open() > to show wakeup stats), print_wakeup_source_stats(m, &deleted_ws) > is deleted in function wakeup_sources_stats_seq_show(). > > Because deleted_ws is one of wakeup sources, so it should > also be showed. This patch add it to the end of all other > wakeup sources. > > Signed-off-by: zhuguangqing <zhuguangqing@xiaomi.com> > --- > drivers/base/power/wakeup.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c > index 5817b51d2b15..29e9434ccaaa 100644 > --- a/drivers/base/power/wakeup.c > +++ b/drivers/base/power/wakeup.c > @@ -1071,6 +1071,9 @@ static void *wakeup_sources_stats_seq_next(struct seq_file *m, > break; > } > > + if (&ws->entry == &wakeup_sources) > + print_wakeup_source_stats(m, &deleted_ws); > + That would be when NULL is about to be returned, right? Why not to check for !next_ws instead, then? Moreover, why to call print_wakeup_source_stats() directly instead of returning &deleted_ws? Also it looks like you need a similar change in wakeup_sources_stats_seq_start(), in case n is greater than the number of list entries, don't you? > return next_ws; > } > > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] PM/wakeup: Add print_wakeup_sour_stats(m, &deleted_ws) 2019-11-08 11:34 ` Rafael J. Wysocki @ 2019-11-09 6:37 ` guangqing zhu 0 siblings, 0 replies; 3+ messages in thread From: guangqing zhu @ 2019-11-09 6:37 UTC (permalink / raw) To: Rafael J. Wysocki Cc: gregkh, pavel, len.brown, linux-pm, linux-kernel, zhuguangqing Rafael J. Wysocki <rjw@rjwysocki.net> 于2019年11月8日周五 下午7:34写道: > > On Monday, October 21, 2019 10:51:40 AM CET zhuguangqing83@gmail.com wrote: > > From: zhuguangqing <zhuguangqing@xiaomi.com> > > > > After commit 00ee22c28915 (PM / wakeup: Use seq_open() > > to show wakeup stats), print_wakeup_source_stats(m, &deleted_ws) > > is deleted in function wakeup_sources_stats_seq_show(). > > > > Because deleted_ws is one of wakeup sources, so it should > > also be showed. This patch add it to the end of all other > > wakeup sources. > > > > Signed-off-by: zhuguangqing <zhuguangqing@xiaomi.com> > > --- > > drivers/base/power/wakeup.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c > > index 5817b51d2b15..29e9434ccaaa 100644 > > --- a/drivers/base/power/wakeup.c > > +++ b/drivers/base/power/wakeup.c > > @@ -1071,6 +1071,9 @@ static void *wakeup_sources_stats_seq_next(struct seq_file *m, > > break; > > } > > > > + if (&ws->entry == &wakeup_sources) > > + print_wakeup_source_stats(m, &deleted_ws); > > + > > That would be when NULL is about to be returned, right? > > Why not to check for !next_ws instead, then? > Yes, that would be when NULL is about to be returned, so check for !next_ws instead is ok, and it's more suitable. > Moreover, why to call print_wakeup_source_stats() directly instead of returning > &deleted_ws? > > Also it looks like you need a similar change in wakeup_sources_stats_seq_start(), > in case n is greater than the number of list entries, don't you? > There are three reasons that I think calling print_wakeup_source_stats() directly is better. 1, Although deleted_ws is a wakeup_source, it is not in LIST_HEAD(wakeup_sources), it's a special wakeup_source. The intial design (before commit 00ee22c28915) is also using two seperated print_wakeup_source_stats() for LIST_HEAD(wakeup_sources) and deleted_ws. 2, If returning &deleted_ws, then wakeup_sources_stats_seq_show() and wakeup_sources_stats_seq_next() will run one more time. 3, If ++(*pos); in wakeup_sources_stats_seq_next() runs one more time, then n in wakeup_sources_stats_seq_start() may be greater than the number of list entries, and it needs some more change. Thanks for your comments. > > return next_ws; > > } > > > > > > > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-11-09 6:38 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-10-21 8:51 [PATCH] PM/wakeup: Add print_wakeup_sour_stats(m, &deleted_ws) zhuguangqing83 2019-11-08 11:34 ` Rafael J. Wysocki 2019-11-09 6:37 ` guangqing zhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).