Re: [PATCH V5 15/17] block: track request size in blk_issue_stat

From: kbuild test robot
Date: Thu Dec 15 2016 - 21:03:34 EST


Hi Shaohua,

[auto build test WARNING on block/for-next]
[also build test WARNING on next-20161215]
[cannot apply to v4.9]
[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-low-limit/20161216-093257
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-s0-201650 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

block/blk-stat.c: In function 'blk_stat_set_issue':
>> block/blk-stat.c:243:26: warning: left shift count >= width of type [-Wshift-count-overflow]
(blk_capped_size(size) << BLK_STAT_SIZE_SHIFT);
^~

vim +243 block/blk-stat.c

227 queue_for_each_hw_ctx(q, hctx, i) {
228 hctx_for_each_ctx(hctx, ctx, j) {
229 blk_stat_init(&ctx->stat[BLK_STAT_READ]);
230 blk_stat_init(&ctx->stat[BLK_STAT_WRITE]);
231 }
232 }
233 } else {
234 blk_stat_init(&q->rq_stats[BLK_STAT_READ]);
235 blk_stat_init(&q->rq_stats[BLK_STAT_WRITE]);
236 }
237 }
238
239 void blk_stat_set_issue(struct blk_issue_stat *stat, sector_t size)
240 {
241 stat->stat = (stat->stat & BLK_STAT_RES_MASK) |
242 (ktime_to_ns(ktime_get()) & BLK_STAT_TIME_MASK) |
> 243 (blk_capped_size(size) << BLK_STAT_SIZE_SHIFT);
244 }
245
246 /*
247 * Enable stat tracking, return whether it was enabled
248 */
249 bool blk_stat_enable(struct request_queue *q)
250 {
251 if (!test_bit(QUEUE_FLAG_STATS, &q->queue_flags)) {

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

Attachment: .config.gz
Description: application/gzip