* [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
@ 2021-06-30 21:42 Abd-Alrhman Masalkhi
2021-07-01 10:07 ` Christoph Hellwig
0 siblings, 1 reply; 13+ messages in thread
From: Abd-Alrhman Masalkhi @ 2021-06-30 21:42 UTC (permalink / raw)
To: axboe; +Cc: linux-block, linux-kernel, Abd-Alrhman Masalkhi
I have compiled the kernel with a cross compiler "hppa-linux-gnu-" v9.3.0
on x86-64 host machine. I got the following warning:
block/genhd.c: In function ‘diskstats_show’:
block/genhd.c:1227:1: warning: the frame size of 1688 bytes is larger
than 1280 bytes [-Wframe-larger-than=]
1227 | }
The problem was calling seq_printf function with too long argumnets list.
Therefore, I cut it into two halves. For the second half I have defined
a function called "print_disk_stats" to print the states of the disk.
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
---
block/genhd.c | 74 ++++++++++++++++++++++++++++-----------------------
1 file changed, 40 insertions(+), 34 deletions(-)
diff --git a/block/genhd.c b/block/genhd.c
index 9f8cb7beaad1..64846aec76c0 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1151,6 +1151,43 @@ const struct device_type disk_type = {
};
#ifdef CONFIG_PROC_FS
+static void print_disk_stats(struct seq_file *seqf,
+ unsigned int inflight, struct disk_stats *stat)
+{
+ seq_printf(seqf, "%lu %lu %lu %u "
+ "%lu %lu %lu %u "
+ "%u %u %u "
+ "%lu %lu %lu %u "
+ "%lu %u"
+ "\n",
+ stat->ios[STAT_READ],
+ stat->merges[STAT_READ],
+ stat->sectors[STAT_READ],
+ (unsigned int)div_u64(stat->nsecs[STAT_READ],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_WRITE],
+ stat->merges[STAT_WRITE],
+ stat->sectors[STAT_WRITE],
+ (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
+ NSEC_PER_MSEC),
+ inflight,
+ jiffies_to_msecs(stat->io_ticks),
+ (unsigned int)div_u64(stat->nsecs[STAT_READ] +
+ stat->nsecs[STAT_WRITE] +
+ stat->nsecs[STAT_DISCARD] +
+ stat->nsecs[STAT_FLUSH],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_DISCARD],
+ stat->merges[STAT_DISCARD],
+ stat->sectors[STAT_DISCARD],
+ (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_FLUSH],
+ (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
+ NSEC_PER_MSEC)
+ );
+}
+
/*
* aggregate disk stat collector. Uses the same stats that the sysfs
* entries do, above, but makes them available through one seq_file.
@@ -1185,41 +1222,10 @@ static int diskstats_show(struct seq_file *seqf, void *v)
else
inflight = part_in_flight(hd);
- seq_printf(seqf, "%4d %7d %s "
- "%lu %lu %lu %u "
- "%lu %lu %lu %u "
- "%u %u %u "
- "%lu %lu %lu %u "
- "%lu %u"
- "\n",
+ seq_printf(seqf, "%4d %7d %s ",
MAJOR(hd->bd_dev), MINOR(hd->bd_dev),
- disk_name(gp, hd->bd_partno, buf),
- stat.ios[STAT_READ],
- stat.merges[STAT_READ],
- stat.sectors[STAT_READ],
- (unsigned int)div_u64(stat.nsecs[STAT_READ],
- NSEC_PER_MSEC),
- stat.ios[STAT_WRITE],
- stat.merges[STAT_WRITE],
- stat.sectors[STAT_WRITE],
- (unsigned int)div_u64(stat.nsecs[STAT_WRITE],
- NSEC_PER_MSEC),
- inflight,
- jiffies_to_msecs(stat.io_ticks),
- (unsigned int)div_u64(stat.nsecs[STAT_READ] +
- stat.nsecs[STAT_WRITE] +
- stat.nsecs[STAT_DISCARD] +
- stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC),
- stat.ios[STAT_DISCARD],
- stat.merges[STAT_DISCARD],
- stat.sectors[STAT_DISCARD],
- (unsigned int)div_u64(stat.nsecs[STAT_DISCARD],
- NSEC_PER_MSEC),
- stat.ios[STAT_FLUSH],
- (unsigned int)div_u64(stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC)
- );
+ disk_name(gp, hd->bd_partno, buf));
+ print_disk_stats(seqf, inflight, &stat);
}
rcu_read_unlock();
--
2.29.0.rc1.dirty
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
@ 2021-07-01 22:01 Abd-Alrhman Masalkhi
0 siblings, 0 replies; 13+ messages in thread
From: Abd-Alrhman Masalkhi @ 2021-07-01 22:01 UTC (permalink / raw)
To: hch; +Cc: axboe, linux-block, linux-kernel, Abd-Alrhman Masalkhi
Thank you Christoph for your comment, you are absolutely right, my previous
solution has not actually solved the problem... I have not know about %pg,
it is a nice feature, I hope I have used correctly!! and about div_u64 I
have found out that each time div_u64 was used the stack frame increased
dramatically, so I wrapped with a wrapper function and used the noinline
attribute, and if there is any mistakes or if i have do not something not
correct I am happy to hear them.
And I am sorry for the late respond, I was at work, delivering pizza. next
time, if you have ordered a pizza and I was the deliver, it will be on me.
Thank you again!
Kind Regards,
Abd-Alrhman,
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
---
block/genhd.c | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/block/genhd.c b/block/genhd.c
index 79aa40b4c39c..c32b7716381a 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1106,6 +1106,12 @@ const struct device_type disk_type = {
};
#ifdef CONFIG_PROC_FS
+
+static noinline unsigned int call_div_u64(u64 dividend, u32 divisor)
+{
+ return (unsigned int)div_u64(dividend, divisor);
+}
+
/*
* aggregate disk stat collector. Uses the same stats that the sysfs
* entries do, above, but makes them available through one seq_file.
@@ -1117,7 +1123,6 @@ static int diskstats_show(struct seq_file *seqf, void *v)
{
struct gendisk *gp = v;
struct block_device *hd;
- char buf[BDEVNAME_SIZE];
unsigned int inflight;
struct disk_stats stat;
unsigned long idx;
@@ -1140,40 +1145,36 @@ static int diskstats_show(struct seq_file *seqf, void *v)
else
inflight = part_in_flight(hd);
- seq_printf(seqf, "%4d %7d %s "
+ seq_printf(seqf, "%4d %7d %pg "
"%lu %lu %lu %u "
"%lu %lu %lu %u "
"%u %u %u "
"%lu %lu %lu %u "
"%lu %u"
"\n",
- MAJOR(hd->bd_dev), MINOR(hd->bd_dev),
- disk_name(gp, hd->bd_partno, buf),
+ MAJOR(hd->bd_dev), MINOR(hd->bd_dev), gp,
stat.ios[STAT_READ],
stat.merges[STAT_READ],
stat.sectors[STAT_READ],
- (unsigned int)div_u64(stat.nsecs[STAT_READ],
- NSEC_PER_MSEC),
+ call_div_u64(stat.nsecs[STAT_READ], NSEC_PER_MSEC),
stat.ios[STAT_WRITE],
stat.merges[STAT_WRITE],
stat.sectors[STAT_WRITE],
- (unsigned int)div_u64(stat.nsecs[STAT_WRITE],
- NSEC_PER_MSEC),
+ call_div_u64(stat.nsecs[STAT_WRITE], NSEC_PER_MSEC),
inflight,
jiffies_to_msecs(stat.io_ticks),
- (unsigned int)div_u64(stat.nsecs[STAT_READ] +
- stat.nsecs[STAT_WRITE] +
- stat.nsecs[STAT_DISCARD] +
- stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC),
+ call_div_u64(stat.nsecs[STAT_READ] +
+ stat.nsecs[STAT_WRITE] +
+ stat.nsecs[STAT_DISCARD] +
+ stat.nsecs[STAT_FLUSH],
+ NSEC_PER_MSEC),
stat.ios[STAT_DISCARD],
stat.merges[STAT_DISCARD],
stat.sectors[STAT_DISCARD],
- (unsigned int)div_u64(stat.nsecs[STAT_DISCARD],
- NSEC_PER_MSEC),
+ call_div_u64(stat.nsecs[STAT_DISCARD],
+ NSEC_PER_MSEC),
stat.ios[STAT_FLUSH],
- (unsigned int)div_u64(stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC)
+ call_div_u64(stat.nsecs[STAT_FLUSH], NSEC_PER_MSEC)
);
}
rcu_read_unlock();
--
2.29.0.rc1.dirty
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
@ 2021-06-30 8:10 Abd-Alrhman Masalkhi
2021-06-30 13:23 ` kernel test robot
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Abd-Alrhman Masalkhi @ 2021-06-30 8:10 UTC (permalink / raw)
To: axboe; +Cc: linux-block, linux-kernel, Abd-Alrhman Masalkhi
I have compiled the kernel with a cross compiler "hppa-linux-gnu-" on
x86-64 host machine. I got the follwing warning:
block/genhd.c: In function ‘diskstats_show’:
block/genhd.c:1227:1: warning: the frame size of 1688 bytes is larger
than 1280 bytes [-Wframe-larger-than=]
1227 | }
The problem was calling seq_printf function with too long argumnets list.
Therefore, I cut it into two halves. For the second half I have defined
a function called "print_disk_stats" to print the states of the disk.
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
---
block/genhd.c | 75 ++++++++++++++++++++++++++++-----------------------
1 file changed, 41 insertions(+), 34 deletions(-)
diff --git a/block/genhd.c b/block/genhd.c
index 9f8cb7beaad1..caf5ac8b509f 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1151,6 +1151,44 @@ const struct device_type disk_type = {
};
#ifdef CONFIG_PROC_FS
+
+void print_disk_stats(struct seq_file *seqf,
+ unsigned int inflight, struct disk_stats *stat)
+{
+ seq_printf(seqf, "%lu %lu %lu %u "
+ "%lu %lu %lu %u "
+ "%u %u %u "
+ "%lu %lu %lu %u "
+ "%lu %u"
+ "\n",
+ stat->ios[STAT_READ],
+ stat->merges[STAT_READ],
+ stat->sectors[STAT_READ],
+ (unsigned int)div_u64(stat->nsecs[STAT_READ],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_WRITE],
+ stat->merges[STAT_WRITE],
+ stat->sectors[STAT_WRITE],
+ (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
+ NSEC_PER_MSEC),
+ inflight,
+ jiffies_to_msecs(stat->io_ticks),
+ (unsigned int)div_u64(stat->nsecs[STAT_READ] +
+ stat->nsecs[STAT_WRITE] +
+ stat->nsecs[STAT_DISCARD] +
+ stat->nsecs[STAT_FLUSH],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_DISCARD],
+ stat->merges[STAT_DISCARD],
+ stat->sectors[STAT_DISCARD],
+ (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
+ NSEC_PER_MSEC),
+ stat->ios[STAT_FLUSH],
+ (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
+ NSEC_PER_MSEC)
+ );
+}
+
/*
* aggregate disk stat collector. Uses the same stats that the sysfs
* entries do, above, but makes them available through one seq_file.
@@ -1185,41 +1223,10 @@ static int diskstats_show(struct seq_file *seqf, void *v)
else
inflight = part_in_flight(hd);
- seq_printf(seqf, "%4d %7d %s "
- "%lu %lu %lu %u "
- "%lu %lu %lu %u "
- "%u %u %u "
- "%lu %lu %lu %u "
- "%lu %u"
- "\n",
+ seq_printf(seqf, "%4d %7d %s ",
MAJOR(hd->bd_dev), MINOR(hd->bd_dev),
- disk_name(gp, hd->bd_partno, buf),
- stat.ios[STAT_READ],
- stat.merges[STAT_READ],
- stat.sectors[STAT_READ],
- (unsigned int)div_u64(stat.nsecs[STAT_READ],
- NSEC_PER_MSEC),
- stat.ios[STAT_WRITE],
- stat.merges[STAT_WRITE],
- stat.sectors[STAT_WRITE],
- (unsigned int)div_u64(stat.nsecs[STAT_WRITE],
- NSEC_PER_MSEC),
- inflight,
- jiffies_to_msecs(stat.io_ticks),
- (unsigned int)div_u64(stat.nsecs[STAT_READ] +
- stat.nsecs[STAT_WRITE] +
- stat.nsecs[STAT_DISCARD] +
- stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC),
- stat.ios[STAT_DISCARD],
- stat.merges[STAT_DISCARD],
- stat.sectors[STAT_DISCARD],
- (unsigned int)div_u64(stat.nsecs[STAT_DISCARD],
- NSEC_PER_MSEC),
- stat.ios[STAT_FLUSH],
- (unsigned int)div_u64(stat.nsecs[STAT_FLUSH],
- NSEC_PER_MSEC)
- );
+ disk_name(gp, hd->bd_partno, buf));
+ print_disk_stats(seqf, inflight, &stat);
}
rcu_read_unlock();
--
2.29.0.rc1.dirty
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
2021-06-30 8:10 Abd-Alrhman Masalkhi
@ 2021-06-30 13:23 ` kernel test robot
2021-06-30 13:47 ` kernel test robot
2021-06-30 18:21 ` kernel test robot
2 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-06-30 13:23 UTC (permalink / raw)
To: Abd-Alrhman Masalkhi, axboe
Cc: kbuild-all, linux-block, linux-kernel, Abd-Alrhman Masalkhi
[-- Attachment #1: Type: text/plain, Size: 3021 bytes --]
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d0486daf81c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
make W=1 ARCH=um SUBARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> block/genhd.c:1110:6: warning: no previous prototype for 'print_disk_stats' [-Wmissing-prototypes]
1110 | void print_disk_stats(struct seq_file *seqf,
| ^~~~~~~~~~~~~~~~
vim +/print_disk_stats +1110 block/genhd.c
1109
> 1110 void print_disk_stats(struct seq_file *seqf,
1111 unsigned int inflight, struct disk_stats *stat)
1112 {
1113 seq_printf(seqf, "%lu %lu %lu %u "
1114 "%lu %lu %lu %u "
1115 "%u %u %u "
1116 "%lu %lu %lu %u "
1117 "%lu %u"
1118 "\n",
1119 stat->ios[STAT_READ],
1120 stat->merges[STAT_READ],
1121 stat->sectors[STAT_READ],
1122 (unsigned int)div_u64(stat->nsecs[STAT_READ],
1123 NSEC_PER_MSEC),
1124 stat->ios[STAT_WRITE],
1125 stat->merges[STAT_WRITE],
1126 stat->sectors[STAT_WRITE],
1127 (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
1128 NSEC_PER_MSEC),
1129 inflight,
1130 jiffies_to_msecs(stat->io_ticks),
1131 (unsigned int)div_u64(stat->nsecs[STAT_READ] +
1132 stat->nsecs[STAT_WRITE] +
1133 stat->nsecs[STAT_DISCARD] +
1134 stat->nsecs[STAT_FLUSH],
1135 NSEC_PER_MSEC),
1136 stat->ios[STAT_DISCARD],
1137 stat->merges[STAT_DISCARD],
1138 stat->sectors[STAT_DISCARD],
1139 (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
1140 NSEC_PER_MSEC),
1141 stat->ios[STAT_FLUSH],
1142 (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
1143 NSEC_PER_MSEC)
1144 );
1145 }
1146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 8657 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
@ 2021-06-30 13:23 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-06-30 13:23 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3099 bytes --]
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d0486daf81c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
make W=1 ARCH=um SUBARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> block/genhd.c:1110:6: warning: no previous prototype for 'print_disk_stats' [-Wmissing-prototypes]
1110 | void print_disk_stats(struct seq_file *seqf,
| ^~~~~~~~~~~~~~~~
vim +/print_disk_stats +1110 block/genhd.c
1109
> 1110 void print_disk_stats(struct seq_file *seqf,
1111 unsigned int inflight, struct disk_stats *stat)
1112 {
1113 seq_printf(seqf, "%lu %lu %lu %u "
1114 "%lu %lu %lu %u "
1115 "%u %u %u "
1116 "%lu %lu %lu %u "
1117 "%lu %u"
1118 "\n",
1119 stat->ios[STAT_READ],
1120 stat->merges[STAT_READ],
1121 stat->sectors[STAT_READ],
1122 (unsigned int)div_u64(stat->nsecs[STAT_READ],
1123 NSEC_PER_MSEC),
1124 stat->ios[STAT_WRITE],
1125 stat->merges[STAT_WRITE],
1126 stat->sectors[STAT_WRITE],
1127 (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
1128 NSEC_PER_MSEC),
1129 inflight,
1130 jiffies_to_msecs(stat->io_ticks),
1131 (unsigned int)div_u64(stat->nsecs[STAT_READ] +
1132 stat->nsecs[STAT_WRITE] +
1133 stat->nsecs[STAT_DISCARD] +
1134 stat->nsecs[STAT_FLUSH],
1135 NSEC_PER_MSEC),
1136 stat->ios[STAT_DISCARD],
1137 stat->merges[STAT_DISCARD],
1138 stat->sectors[STAT_DISCARD],
1139 (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
1140 NSEC_PER_MSEC),
1141 stat->ios[STAT_FLUSH],
1142 (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
1143 NSEC_PER_MSEC)
1144 );
1145 }
1146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 8657 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
2021-06-30 8:10 Abd-Alrhman Masalkhi
@ 2021-06-30 13:47 ` kernel test robot
2021-06-30 13:47 ` kernel test robot
2021-06-30 18:21 ` kernel test robot
2 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-06-30 13:47 UTC (permalink / raw)
To: Abd-Alrhman Masalkhi, axboe
Cc: clang-built-linux, kbuild-all, linux-block, linux-kernel,
Abd-Alrhman Masalkhi
[-- Attachment #1: Type: text/plain, Size: 8054 bytes --]
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: s390-randconfig-r014-20210630 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d21d5472501460933e78aead04cf59579025ba4)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d0486daf81c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> block/genhd.c:1110:6: warning: no previous prototype for function 'print_disk_stats' [-Wmissing-prototypes]
void print_disk_stats(struct seq_file *seqf,
^
block/genhd.c:1110:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void print_disk_stats(struct seq_file *seqf,
^
static
13 warnings generated.
vim +/print_disk_stats +1110 block/genhd.c
1109
> 1110 void print_disk_stats(struct seq_file *seqf,
1111 unsigned int inflight, struct disk_stats *stat)
1112 {
1113 seq_printf(seqf, "%lu %lu %lu %u "
1114 "%lu %lu %lu %u "
1115 "%u %u %u "
1116 "%lu %lu %lu %u "
1117 "%lu %u"
1118 "\n",
1119 stat->ios[STAT_READ],
1120 stat->merges[STAT_READ],
1121 stat->sectors[STAT_READ],
1122 (unsigned int)div_u64(stat->nsecs[STAT_READ],
1123 NSEC_PER_MSEC),
1124 stat->ios[STAT_WRITE],
1125 stat->merges[STAT_WRITE],
1126 stat->sectors[STAT_WRITE],
1127 (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
1128 NSEC_PER_MSEC),
1129 inflight,
1130 jiffies_to_msecs(stat->io_ticks),
1131 (unsigned int)div_u64(stat->nsecs[STAT_READ] +
1132 stat->nsecs[STAT_WRITE] +
1133 stat->nsecs[STAT_DISCARD] +
1134 stat->nsecs[STAT_FLUSH],
1135 NSEC_PER_MSEC),
1136 stat->ios[STAT_DISCARD],
1137 stat->merges[STAT_DISCARD],
1138 stat->sectors[STAT_DISCARD],
1139 (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
1140 NSEC_PER_MSEC),
1141 stat->ios[STAT_FLUSH],
1142 (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
1143 NSEC_PER_MSEC)
1144 );
1145 }
1146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 15582 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
@ 2021-06-30 13:47 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-06-30 13:47 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 8201 bytes --]
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: s390-randconfig-r014-20210630 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d21d5472501460933e78aead04cf59579025ba4)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d0486daf81c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> block/genhd.c:1110:6: warning: no previous prototype for function 'print_disk_stats' [-Wmissing-prototypes]
void print_disk_stats(struct seq_file *seqf,
^
block/genhd.c:1110:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void print_disk_stats(struct seq_file *seqf,
^
static
13 warnings generated.
vim +/print_disk_stats +1110 block/genhd.c
1109
> 1110 void print_disk_stats(struct seq_file *seqf,
1111 unsigned int inflight, struct disk_stats *stat)
1112 {
1113 seq_printf(seqf, "%lu %lu %lu %u "
1114 "%lu %lu %lu %u "
1115 "%u %u %u "
1116 "%lu %lu %lu %u "
1117 "%lu %u"
1118 "\n",
1119 stat->ios[STAT_READ],
1120 stat->merges[STAT_READ],
1121 stat->sectors[STAT_READ],
1122 (unsigned int)div_u64(stat->nsecs[STAT_READ],
1123 NSEC_PER_MSEC),
1124 stat->ios[STAT_WRITE],
1125 stat->merges[STAT_WRITE],
1126 stat->sectors[STAT_WRITE],
1127 (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
1128 NSEC_PER_MSEC),
1129 inflight,
1130 jiffies_to_msecs(stat->io_ticks),
1131 (unsigned int)div_u64(stat->nsecs[STAT_READ] +
1132 stat->nsecs[STAT_WRITE] +
1133 stat->nsecs[STAT_DISCARD] +
1134 stat->nsecs[STAT_FLUSH],
1135 NSEC_PER_MSEC),
1136 stat->ios[STAT_DISCARD],
1137 stat->merges[STAT_DISCARD],
1138 stat->sectors[STAT_DISCARD],
1139 (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
1140 NSEC_PER_MSEC),
1141 stat->ios[STAT_FLUSH],
1142 (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
1143 NSEC_PER_MSEC)
1144 );
1145 }
1146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 15582 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
2021-06-30 13:47 ` kernel test robot
(?)
@ 2021-06-30 18:36 ` abd.masalkhi
2021-07-01 0:50 ` Rong Chen
-1 siblings, 1 reply; 13+ messages in thread
From: abd.masalkhi @ 2021-06-30 18:36 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 295 bytes --]
Thanks for the reporting the issue I have fixed it and I am trying to post the changes, but I do not know how to do that, should I submit a new patch including the old patch and the changes or should I somehow edit the already posted patch or any thing else related to it?
thank you very much
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
2021-06-30 18:36 ` abd.masalkhi
@ 2021-07-01 0:50 ` Rong Chen
2021-07-01 8:37 ` abd.masalkhi
0 siblings, 1 reply; 13+ messages in thread
From: Rong Chen @ 2021-07-01 0:50 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 725 bytes --]
Hi,
I think you could submit a new version including the fixes. e.g.
[PATCH v2] block: Removed a warning while compiling with a cross
compiler for parisc
Best Regards,
Rong Chen
On 7/1/21 2:36 AM, abd.masalkhi(a)gmail.com wrote:
> Thanks for the reporting the issue I have fixed it and I am trying to post the changes, but I do not know how to do that, should I submit a new patch including the old patch and the changes or should I somehow edit the already posted patch or any thing else related to it?
>
> thank you very much
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
2021-06-30 8:10 Abd-Alrhman Masalkhi
@ 2021-06-30 18:21 ` kernel test robot
2021-06-30 13:47 ` kernel test robot
2021-06-30 18:21 ` kernel test robot
2 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-06-30 18:21 UTC (permalink / raw)
To: Abd-Alrhman Masalkhi, axboe
Cc: kbuild-all, linux-block, linux-kernel, Abd-Alrhman Masalkhi
[-- Attachment #1: Type: text/plain, Size: 1756 bytes --]
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-s002-20210630 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d0486daf81c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> block/genhd.c:1110:6: sparse: sparse: symbol 'print_disk_stats' was not declared. Should it be static?
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 44251 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-07-01 22:01 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-30 21:42 [PATCH] block: Removed a warning while compiling with a cross compiler for parisc Abd-Alrhman Masalkhi
2021-07-01 10:07 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2021-07-01 22:01 Abd-Alrhman Masalkhi
2021-06-30 8:10 Abd-Alrhman Masalkhi
2021-06-30 13:23 ` kernel test robot
2021-06-30 13:23 ` kernel test robot
2021-06-30 13:47 ` kernel test robot
2021-06-30 13:47 ` kernel test robot
2021-06-30 18:36 ` abd.masalkhi
2021-07-01 0:50 ` Rong Chen
2021-07-01 8:37 ` abd.masalkhi
2021-06-30 18:21 ` kernel test robot
2021-06-30 18:21 ` kernel test robot
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.