Re: [PATCH V4 13/15] blk-throttle: add a mechanism to estimate IO latency

From: kbuild test robot
Date: Mon Nov 14 2016 - 18:41:42 EST


Hi Shaohua,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.9-rc5]
[cannot apply to block/for-next next-20161114]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Shaohua-Li/blk-throttle-add-high-limit/20161115-063105
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa

All warnings (new ones prefixed by >>):

In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0,
from include/linux/kernel.h:142,
from include/linux/list.h:8,
from include/linux/module.h:9,
from block/blk-throttle.c:7:
block/blk-throttle.c: In function 'throtl_calculate_line_slope':
include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
>> block/blk-throttle.c:2017:2: note: in expansion of macro 'do_div'
do_div(xMean, valid_lat);
^
include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
block/blk-throttle.c:2019:2: note: in expansion of macro 'do_div'
do_div(yMean, valid_lat);
^
include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
block/blk-throttle.c:2023:2: note: in expansion of macro 'do_div'
do_div(slope, denominator);
^

vim +/do_div +2017 block/blk-throttle.c

2001 for (i = 0; i < LATENCY_BUCKET_SIZE; i++) {
2002 u64 x, y;
2003
2004 if (td->avg_buckets[i].latency == 0)
2005 continue;
2006
2007 x = td->avg_buckets[i].size >> 10;
2008 y = td->avg_buckets[i].latency;
2009 sumX += x;
2010 sumY += y;
2011
2012 sumXY += x * y;
2013 sumX2 += x * x;
2014 }
2015
2016 xMean = sumX;
> 2017 do_div(xMean, valid_lat);
2018 yMean = sumY;
2019 do_div(yMean, valid_lat);
2020 denominator = sumX2 - sumX * xMean;
2021
2022 slope = sumXY - sumX * yMean;
2023 do_div(slope, denominator);
2024 td->line_slope = slope;
2025 }

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip