All of lore.kernel.org
 help / color / mirror / Atom feed
* [sashal-stable:pending-5.4 23/214] block/blk-mq-sched.c:200:5: warning: no previous prototype for '__blk_mq_sched_dispatch_requests'
@ 2023-03-04 11:59 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-03-04 11:59 UTC (permalink / raw)
  To: Sasha Levin; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head:   273024806c52933197cd3cde4a439e71a726c27d
commit: 3bf0224336845b1c14493ba5b0ff119446fdb371 [23/214] block: Limit number of items taken from the I/O scheduler in one go
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20230304/202303041925.gsLU3zXf-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/commit/?id=3bf0224336845b1c14493ba5b0ff119446fdb371
        git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
        git fetch --no-tags sashal-stable pending-5.4
        git checkout 3bf0224336845b1c14493ba5b0ff119446fdb371
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 olddefconfig
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303041925.gsLU3zXf-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> block/blk-mq-sched.c:200:5: warning: no previous prototype for '__blk_mq_sched_dispatch_requests' [-Wmissing-prototypes]
     200 | int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/__blk_mq_sched_dispatch_requests +200 block/blk-mq-sched.c

   199	
 > 200	int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx)
   201	{
   202		struct request_queue *q = hctx->queue;
   203		struct elevator_queue *e = q->elevator;
   204		const bool has_sched_dispatch = e && e->type->ops.dispatch_request;
   205		int ret = 0;
   206		LIST_HEAD(rq_list);
   207	
   208		/*
   209		 * If we have previous entries on our dispatch list, grab them first for
   210		 * more fair dispatch.
   211		 */
   212		if (!list_empty_careful(&hctx->dispatch)) {
   213			spin_lock(&hctx->lock);
   214			if (!list_empty(&hctx->dispatch))
   215				list_splice_init(&hctx->dispatch, &rq_list);
   216			spin_unlock(&hctx->lock);
   217		}
   218	
   219		/*
   220		 * Only ask the scheduler for requests, if we didn't have residual
   221		 * requests from the dispatch list. This is to avoid the case where
   222		 * we only ever dispatch a fraction of the requests available because
   223		 * of low device queue depth. Once we pull requests out of the IO
   224		 * scheduler, we can no longer merge or sort them. So it's best to
   225		 * leave them there for as long as we can. Mark the hw queue as
   226		 * needing a restart in that case.
   227		 *
   228		 * We want to dispatch from the scheduler if there was nothing
   229		 * on the dispatch list or we were able to dispatch from the
   230		 * dispatch list.
   231		 */
   232		if (!list_empty(&rq_list)) {
   233			blk_mq_sched_mark_restart_hctx(hctx);
   234			if (blk_mq_dispatch_rq_list(q, &rq_list, false)) {
   235				if (has_sched_dispatch)
   236					ret = blk_mq_do_dispatch_sched(hctx);
   237				else
   238					ret = blk_mq_do_dispatch_ctx(hctx);
   239			}
   240		} else if (has_sched_dispatch) {
   241			ret = blk_mq_do_dispatch_sched(hctx);
   242		} else if (hctx->dispatch_busy) {
   243			/* dequeue request one by one from sw queue if queue is busy */
   244			ret = blk_mq_do_dispatch_ctx(hctx);
   245		} else {
   246			blk_mq_flush_busy_ctxs(hctx, &rq_list);
   247			blk_mq_dispatch_rq_list(q, &rq_list, false);
   248		}
   249	
   250		return ret;
   251	}
   252	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-04 11:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-04 11:59 [sashal-stable:pending-5.4 23/214] block/blk-mq-sched.c:200:5: warning: no previous prototype for '__blk_mq_sched_dispatch_requests' 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.