* [PATCH v2] sched: Fix print format for u64 @ 2012-12-25 11:24 Fabio Estevam 2013-01-11 1:30 ` Fabio Estevam 2013-01-24 20:22 ` [tip:sched/urgent] " tip-bot for Fabio Estevam 0 siblings, 2 replies; 9+ messages in thread From: Fabio Estevam @ 2012-12-25 11:24 UTC (permalink / raw) To: mingo; +Cc: peterz, pjt, linux-kernel, Fabio Estevam From: Fabio Estevam <fabio.estevam@freescale.com> commit c566e8e9 (sched: Aggregate total task_group load) introduced the following build warning: kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'u64' [-Wformat] kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'u64' [-Wformat] Use %llu format to print a u64 value as per Documentation/printk-formats.txt. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v1: - Use llu instead of lld kernel/sched/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 2cd3c1b..83ec463 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -222,7 +222,7 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) cfs_rq->runnable_load_avg); SEQ_printf(m, " .%-30s: %lld\n", "blocked_load_avg", cfs_rq->blocked_load_avg); - SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg", + SEQ_printf(m, " .%-30s: %llu\n", "tg_load_avg", atomic64_read(&cfs_rq->tg->load_avg)); SEQ_printf(m, " .%-30s: %lld\n", "tg_load_contrib", cfs_rq->tg_load_contrib); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2012-12-25 11:24 [PATCH v2] sched: Fix print format for u64 Fabio Estevam @ 2013-01-11 1:30 ` Fabio Estevam 2013-01-24 14:19 ` Ingo Molnar 2013-01-24 20:22 ` [tip:sched/urgent] " tip-bot for Fabio Estevam 1 sibling, 1 reply; 9+ messages in thread From: Fabio Estevam @ 2013-01-11 1:30 UTC (permalink / raw) To: mingo; +Cc: peterz, pjt, linux-kernel, Fabio Estevam Hi Ingo, On Tue, Dec 25, 2012 at 9:24 AM, Fabio Estevam <festevam@gmail.com> wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > commit c566e8e9 (sched: Aggregate total task_group load) introduced the > following build warning: > > kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'u64' [-Wformat] > kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'u64' [-Wformat] > > Use %llu format to print a u64 value as per Documentation/printk-formats.txt. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Does this one look good? Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-11 1:30 ` Fabio Estevam @ 2013-01-24 14:19 ` Ingo Molnar 2013-01-24 14:47 ` Fabio Estevam 0 siblings, 1 reply; 9+ messages in thread From: Ingo Molnar @ 2013-01-24 14:19 UTC (permalink / raw) To: Fabio Estevam; +Cc: mingo, peterz, pjt, linux-kernel, Fabio Estevam * Fabio Estevam <festevam@gmail.com> wrote: > Hi Ingo, > > On Tue, Dec 25, 2012 at 9:24 AM, Fabio Estevam <festevam@gmail.com> wrote: > > From: Fabio Estevam <fabio.estevam@freescale.com> > > > > commit c566e8e9 (sched: Aggregate total task_group load) introduced the > > following build warning: > > > > kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'u64' [-Wformat] > > kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'u64' [-Wformat] > > > > Use %llu format to print a u64 value as per Documentation/printk-formats.txt. > > > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > > Does this one look good? I suppose - is this patch warning-free both on 64-bit and 32-bit systems? Thanks, Ingo ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-24 14:19 ` Ingo Molnar @ 2013-01-24 14:47 ` Fabio Estevam 2013-01-25 7:19 ` Ingo Molnar 0 siblings, 1 reply; 9+ messages in thread From: Fabio Estevam @ 2013-01-24 14:47 UTC (permalink / raw) To: Ingo Molnar; +Cc: mingo, peterz, pjt, linux-kernel, Fabio Estevam On Thu, Jan 24, 2013 at 12:19 PM, Ingo Molnar <mingo@kernel.org> wrote: > I suppose - is this patch warning-free both on 64-bit and 32-bit > systems? Yes, just confirmed that this patch is warning-free on both 64-bit and 32-bit machines. Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-24 14:47 ` Fabio Estevam @ 2013-01-25 7:19 ` Ingo Molnar 2013-01-25 7:31 ` Paul Turner 0 siblings, 1 reply; 9+ messages in thread From: Ingo Molnar @ 2013-01-25 7:19 UTC (permalink / raw) To: Fabio Estevam; +Cc: mingo, peterz, pjt, linux-kernel, Fabio Estevam * Fabio Estevam <festevam@gmail.com> wrote: > On Thu, Jan 24, 2013 at 12:19 PM, Ingo Molnar <mingo@kernel.org> wrote: > > > I suppose - is this patch warning-free both on 64-bit and 32-bit > > systems? > > Yes, just confirmed that this patch is warning-free on both 64-bit and > 32-bit machines. Apparently it's not all good, see the warning attached below. Thanks, Ingo ----- Forwarded message from kbuild test robot <fengguang.wu@intel.com> ----- Date: Fri, 25 Jan 2013 14:02:05 +0800 From: kbuild test robot <fengguang.wu@intel.com> To: Fabio Estevam <fabio.estevam@freescale.com> Cc: Ingo Molnar <mingo@kernel.org> Subject: [next:akpm 188/817] kernel/sched/debug.c:225:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'long int' tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm head: 5d2ee7d8b03bfe3b90325d736d8e544d0394efa7 commit: 2d58000fd2020255af63ee92c8d0ef615f6c4ade [188/817] sched: Fix print format for u64 config: make ARCH=x86_64 allmodconfig All warnings: kernel/sched/debug.c: In function 'print_cfs_rq': >> kernel/sched/debug.c:225:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'long int' [-Wformat] >> kernel/sched/debug.c:225:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'long int' [-Wformat] vim +225 kernel/sched/debug.c 209 spread = max_vruntime - MIN_vruntime; 210 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread", 211 SPLIT_NS(spread)); 212 spread0 = min_vruntime - rq0_min_vruntime; 213 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread0", 214 SPLIT_NS(spread0)); 215 SEQ_printf(m, " .%-30s: %d\n", "nr_spread_over", 216 cfs_rq->nr_spread_over); 217 SEQ_printf(m, " .%-30s: %d\n", "nr_running", cfs_rq->nr_running); 218 SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); 219 #ifdef CONFIG_FAIR_GROUP_SCHED 220 #ifdef CONFIG_SMP 221 SEQ_printf(m, " .%-30s: %lld\n", "runnable_load_avg", 222 cfs_rq->runnable_load_avg); 223 SEQ_printf(m, " .%-30s: %lld\n", "blocked_load_avg", 224 cfs_rq->blocked_load_avg); > 225 SEQ_printf(m, " .%-30s: %llu\n", "tg_load_avg", 226 atomic64_read(&cfs_rq->tg->load_avg)); 227 SEQ_printf(m, " .%-30s: %lld\n", "tg_load_contrib", 228 cfs_rq->tg_load_contrib); 229 SEQ_printf(m, " .%-30s: %d\n", "tg_runnable_contrib", 230 cfs_rq->tg_runnable_contrib); 231 SEQ_printf(m, " .%-30s: %d\n", "tg->runnable_avg", 232 atomic_read(&cfs_rq->tg->runnable_avg)); 233 #endif --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ----- End forwarded message ----- ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-25 7:19 ` Ingo Molnar @ 2013-01-25 7:31 ` Paul Turner 2013-01-25 8:06 ` Ingo Molnar 0 siblings, 1 reply; 9+ messages in thread From: Paul Turner @ 2013-01-25 7:31 UTC (permalink / raw) To: Ingo Molnar; +Cc: Fabio Estevam, mingo, peterz, linux-kernel, Fabio Estevam On Thu, Jan 24, 2013 at 11:19 PM, Ingo Molnar <mingo@kernel.org> wrote: > > * Fabio Estevam <festevam@gmail.com> wrote: > >> On Thu, Jan 24, 2013 at 12:19 PM, Ingo Molnar <mingo@kernel.org> wrote: >> >> > I suppose - is this patch warning-free both on 64-bit and 32-bit >> > systems? >> >> Yes, just confirmed that this patch is warning-free on both 64-bit and >> 32-bit machines. > > Apparently it's not all good, see the warning attached below. Yeah this patch is broken; this is not properly fixable as is without #ifdefs (or fixing the insanity that is atomic64_read). Specifically: On some architectures (e.g. x86_64) atomic64_read is typed long On some others (e.g. x86-32) it's typed long long On yet others (e.g. arm) it's typed u64 I think the easiest way to fix it would be instead to promote the read into a local u64 and print that. > > Thanks, > > Ingo > > ----- Forwarded message from kbuild test robot <fengguang.wu@intel.com> ----- > > Date: Fri, 25 Jan 2013 14:02:05 +0800 > From: kbuild test robot <fengguang.wu@intel.com> > To: Fabio Estevam <fabio.estevam@freescale.com> > Cc: Ingo Molnar <mingo@kernel.org> > Subject: [next:akpm 188/817] kernel/sched/debug.c:225:2: warning: format '%llu' expects argument > of type 'long long unsigned int', but argument 4 has type 'long int' > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm > head: 5d2ee7d8b03bfe3b90325d736d8e544d0394efa7 > commit: 2d58000fd2020255af63ee92c8d0ef615f6c4ade [188/817] sched: Fix print format for u64 > config: make ARCH=x86_64 allmodconfig > > All warnings: > > kernel/sched/debug.c: In function 'print_cfs_rq': >>> kernel/sched/debug.c:225:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'long int' [-Wformat] >>> kernel/sched/debug.c:225:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'long int' [-Wformat] > > vim +225 kernel/sched/debug.c > > 209 spread = max_vruntime - MIN_vruntime; > 210 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread", > 211 SPLIT_NS(spread)); > 212 spread0 = min_vruntime - rq0_min_vruntime; > 213 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread0", > 214 SPLIT_NS(spread0)); > 215 SEQ_printf(m, " .%-30s: %d\n", "nr_spread_over", > 216 cfs_rq->nr_spread_over); > 217 SEQ_printf(m, " .%-30s: %d\n", "nr_running", cfs_rq->nr_running); > 218 SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); > 219 #ifdef CONFIG_FAIR_GROUP_SCHED > 220 #ifdef CONFIG_SMP > 221 SEQ_printf(m, " .%-30s: %lld\n", "runnable_load_avg", > 222 cfs_rq->runnable_load_avg); > 223 SEQ_printf(m, " .%-30s: %lld\n", "blocked_load_avg", > 224 cfs_rq->blocked_load_avg); > > 225 SEQ_printf(m, " .%-30s: %llu\n", "tg_load_avg", > 226 atomic64_read(&cfs_rq->tg->load_avg)); > 227 SEQ_printf(m, " .%-30s: %lld\n", "tg_load_contrib", > 228 cfs_rq->tg_load_contrib); > 229 SEQ_printf(m, " .%-30s: %d\n", "tg_runnable_contrib", > 230 cfs_rq->tg_runnable_contrib); > 231 SEQ_printf(m, " .%-30s: %d\n", "tg->runnable_avg", > 232 atomic_read(&cfs_rq->tg->runnable_avg)); > 233 #endif > > --- > 0-DAY kernel build testing backend Open Source Technology Center > http://lists.01.org/mailman/listinfo/kbuild Intel Corporation > > ----- End forwarded message ----- > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-25 7:31 ` Paul Turner @ 2013-01-25 8:06 ` Ingo Molnar 2013-01-25 16:06 ` Paul Turner 0 siblings, 1 reply; 9+ messages in thread From: Ingo Molnar @ 2013-01-25 8:06 UTC (permalink / raw) To: Paul Turner; +Cc: Fabio Estevam, mingo, peterz, linux-kernel, Fabio Estevam * Paul Turner <pjt@google.com> wrote: > On Thu, Jan 24, 2013 at 11:19 PM, Ingo Molnar <mingo@kernel.org> wrote: > > > > * Fabio Estevam <festevam@gmail.com> wrote: > > > >> On Thu, Jan 24, 2013 at 12:19 PM, Ingo Molnar <mingo@kernel.org> wrote: > >> > >> > I suppose - is this patch warning-free both on 64-bit and 32-bit > >> > systems? > >> > >> Yes, just confirmed that this patch is warning-free on both 64-bit and > >> 32-bit machines. > > > > Apparently it's not all good, see the warning attached below. > > Yeah this patch is broken; this is not properly fixable as is without > #ifdefs (or fixing the insanity that is atomic64_read). > > Specifically: > > On some architectures (e.g. x86_64) atomic64_read is typed long > On some others (e.g. x86-32) it's typed long long > On yet others (e.g. arm) it's typed u64 Hm, cannot we type atomic64_read() to u64 on x86-64 as well, and fix other architectures? How widespread is this problem, have you checked that perhaps? I'm all for clean, consistent types instead of #ifdef or temporary variable uglies. Thanks, Ingo ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] sched: Fix print format for u64 2013-01-25 8:06 ` Ingo Molnar @ 2013-01-25 16:06 ` Paul Turner 0 siblings, 0 replies; 9+ messages in thread From: Paul Turner @ 2013-01-25 16:06 UTC (permalink / raw) To: Ingo Molnar; +Cc: Fabio Estevam, mingo, peterz, linux-kernel, Fabio Estevam On Fri, Jan 25, 2013 at 12:06 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Paul Turner <pjt@google.com> wrote: > >> On Thu, Jan 24, 2013 at 11:19 PM, Ingo Molnar <mingo@kernel.org> wrote: >> > >> > * Fabio Estevam <festevam@gmail.com> wrote: >> > >> >> On Thu, Jan 24, 2013 at 12:19 PM, Ingo Molnar <mingo@kernel.org> wrote: >> >> >> >> > I suppose - is this patch warning-free both on 64-bit and 32-bit >> >> > systems? >> >> >> >> Yes, just confirmed that this patch is warning-free on both 64-bit and >> >> 32-bit machines. >> > >> > Apparently it's not all good, see the warning attached below. >> >> Yeah this patch is broken; this is not properly fixable as is without >> #ifdefs (or fixing the insanity that is atomic64_read). >> >> Specifically: >> >> On some architectures (e.g. x86_64) atomic64_read is typed long >> On some others (e.g. x86-32) it's typed long long >> On yet others (e.g. arm) it's typed u64 > > Hm, cannot we type atomic64_read() to u64 on x86-64 as well, and > fix other architectures? How widespread is this problem, have > you checked that perhaps? I have not looked at how much fall-out this would cause. Ideally someone with a cross-compiing tool-chain or from the specific arches could take ownership of cleaning up their atomic64 implementations to avoid introducing more build pain. Theoretically, given the list above x86-64 is actually the outlier in assuming that it's just a long type; perhaps we can gain sufficient mileage by changing only the x86-64 implementation; which is much easier for us to validate :-). > > I'm all for clean, consistent types instead of #ifdef or > temporary variable uglies. Yes I agree this would be the best solution. > > Thanks, > > Ingo ^ permalink raw reply [flat|nested] 9+ messages in thread
* [tip:sched/urgent] sched: Fix print format for u64 2012-12-25 11:24 [PATCH v2] sched: Fix print format for u64 Fabio Estevam 2013-01-11 1:30 ` Fabio Estevam @ 2013-01-24 20:22 ` tip-bot for Fabio Estevam 1 sibling, 0 replies; 9+ messages in thread From: tip-bot for Fabio Estevam @ 2013-01-24 20:22 UTC (permalink / raw) To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, fabio.estevam, tglx Commit-ID: 2d58000fd2020255af63ee92c8d0ef615f6c4ade Gitweb: http://git.kernel.org/tip/2d58000fd2020255af63ee92c8d0ef615f6c4ade Author: Fabio Estevam <fabio.estevam@freescale.com> AuthorDate: Tue, 25 Dec 2012 09:24:40 -0200 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Thu, 24 Jan 2013 15:50:08 +0100 sched: Fix print format for u64 commit c566e8e9 ("sched: Aggregate total task_group load") introduced the following build warnings: kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'u64' [-Wformat] kernel/sched/debug.c:225:2: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'u64' [-Wformat] Use %llu format to print a u64 value as per Documentation/printk-formats.txt. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Cc: peterz@infradead.org Cc: pjt@google.com Link: http://lkml.kernel.org/r/1356434680-10045-1-git-send-email-festevam@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- kernel/sched/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 2cd3c1b..8c2fc39 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -222,7 +222,7 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) cfs_rq->runnable_load_avg); SEQ_printf(m, " .%-30s: %lld\n", "blocked_load_avg", cfs_rq->blocked_load_avg); - SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg", + SEQ_printf(m, " .%-30s: %llu\n", "tg_load_avg", atomic64_read(&cfs_rq->tg->load_avg)); SEQ_printf(m, " .%-30s: %lld\n", "tg_load_contrib", cfs_rq->tg_load_contrib); ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-01-25 16:14 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-25 11:24 [PATCH v2] sched: Fix print format for u64 Fabio Estevam 2013-01-11 1:30 ` Fabio Estevam 2013-01-24 14:19 ` Ingo Molnar 2013-01-24 14:47 ` Fabio Estevam 2013-01-25 7:19 ` Ingo Molnar 2013-01-25 7:31 ` Paul Turner 2013-01-25 8:06 ` Ingo Molnar 2013-01-25 16:06 ` Paul Turner 2013-01-24 20:22 ` [tip:sched/urgent] " tip-bot for Fabio Estevam
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.