All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: "Pavel Begunkov (Silence)" <asml.silence@gmail.com>
Cc: kbuild-all@01.org, Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: Re: [PATCH] io_uring: Fix reversed nonblock flag
Date: Fri, 4 Oct 2019 17:23:01 +0800	[thread overview]
Message-ID: <201910041715.ggmQFeIk%lkp@intel.com> (raw)
In-Reply-To: <75be62996d115a3e2effa6753a6d803069131460.1570177340.git.asml.silence@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3882 bytes --]

Hi "Pavel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Pavel-Begunkov-Silence/io_uring-Fix-reversed-nonblock-flag/20191004-163432
config: m68k-allyesconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   fs/io_uring.c: In function 'io_ring_submit':
>> fs/io_uring.c:2764:6: error: 'force_nonblock' undeclared (first use in this function); did you mean 'tcf_block'?
         force_nonblock);
         ^~~~~~~~~~~~~~
         tcf_block
   fs/io_uring.c:2764:6: note: each undeclared identifier is reported only once for each function it appears in

vim +2764 fs/io_uring.c

  2697	
  2698	static int io_ring_submit(struct io_ring_ctx *ctx, unsigned int to_submit,
  2699				  bool block_for_last)
  2700	{
  2701		struct io_submit_state state, *statep = NULL;
  2702		struct io_kiocb *link = NULL;
  2703		struct io_kiocb *shadow_req = NULL;
  2704		bool prev_was_link = false;
  2705		int i, submit = 0;
  2706	
  2707		if (to_submit > IO_PLUG_THRESHOLD) {
  2708			io_submit_state_start(&state, ctx, to_submit);
  2709			statep = &state;
  2710		}
  2711	
  2712		for (i = 0; i < to_submit; i++) {
  2713			bool force_nonblock = true;
  2714			struct sqe_submit s;
  2715	
  2716			if (!io_get_sqring(ctx, &s))
  2717				break;
  2718	
  2719			/*
  2720			 * If previous wasn't linked and we have a linked command,
  2721			 * that's the end of the chain. Submit the previous link.
  2722			 */
  2723			if (!prev_was_link && link) {
  2724				io_queue_link_head(ctx, link, &link->submit, shadow_req,
  2725							force_nonblock);
  2726				link = NULL;
  2727				shadow_req = NULL;
  2728			}
  2729			prev_was_link = (s.sqe->flags & IOSQE_IO_LINK) != 0;
  2730	
  2731			if (link && (s.sqe->flags & IOSQE_IO_DRAIN)) {
  2732				if (!shadow_req) {
  2733					shadow_req = io_get_req(ctx, NULL);
  2734					if (unlikely(!shadow_req))
  2735						goto out;
  2736					shadow_req->flags |= (REQ_F_IO_DRAIN | REQ_F_SHADOW_DRAIN);
  2737					refcount_dec(&shadow_req->refs);
  2738				}
  2739				shadow_req->sequence = s.sequence;
  2740			}
  2741	
  2742	out:
  2743			s.has_user = true;
  2744			s.needs_lock = false;
  2745			s.needs_fixed_file = false;
  2746			submit++;
  2747	
  2748			/*
  2749			 * The caller will block for events after submit, submit the
  2750			 * last IO non-blocking. This is either the only IO it's
  2751			 * submitting, or it already submitted the previous ones. This
  2752			 * improves performance by avoiding an async punt that we don't
  2753			 * need to do.
  2754			 */
  2755			if (block_for_last && submit == to_submit)
  2756				force_nonblock = false;
  2757	
  2758			io_submit_sqe(ctx, &s, statep, &link, force_nonblock);
  2759		}
  2760		io_commit_sqring(ctx);
  2761	
  2762		if (link)
  2763			io_queue_link_head(ctx, link, &link->submit, shadow_req,
> 2764						force_nonblock);
  2765		if (statep)
  2766			io_submit_state_end(statep);
  2767	
  2768		return submit;
  2769	}
  2770	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 51648 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] io_uring: Fix reversed nonblock flag
Date: Fri, 04 Oct 2019 17:23:01 +0800	[thread overview]
Message-ID: <201910041715.ggmQFeIk%lkp@intel.com> (raw)
In-Reply-To: <75be62996d115a3e2effa6753a6d803069131460.1570177340.git.asml.silence@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3993 bytes --]

Hi "Pavel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Pavel-Begunkov-Silence/io_uring-Fix-reversed-nonblock-flag/20191004-163432
config: m68k-allyesconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   fs/io_uring.c: In function 'io_ring_submit':
>> fs/io_uring.c:2764:6: error: 'force_nonblock' undeclared (first use in this function); did you mean 'tcf_block'?
         force_nonblock);
         ^~~~~~~~~~~~~~
         tcf_block
   fs/io_uring.c:2764:6: note: each undeclared identifier is reported only once for each function it appears in

vim +2764 fs/io_uring.c

  2697	
  2698	static int io_ring_submit(struct io_ring_ctx *ctx, unsigned int to_submit,
  2699				  bool block_for_last)
  2700	{
  2701		struct io_submit_state state, *statep = NULL;
  2702		struct io_kiocb *link = NULL;
  2703		struct io_kiocb *shadow_req = NULL;
  2704		bool prev_was_link = false;
  2705		int i, submit = 0;
  2706	
  2707		if (to_submit > IO_PLUG_THRESHOLD) {
  2708			io_submit_state_start(&state, ctx, to_submit);
  2709			statep = &state;
  2710		}
  2711	
  2712		for (i = 0; i < to_submit; i++) {
  2713			bool force_nonblock = true;
  2714			struct sqe_submit s;
  2715	
  2716			if (!io_get_sqring(ctx, &s))
  2717				break;
  2718	
  2719			/*
  2720			 * If previous wasn't linked and we have a linked command,
  2721			 * that's the end of the chain. Submit the previous link.
  2722			 */
  2723			if (!prev_was_link && link) {
  2724				io_queue_link_head(ctx, link, &link->submit, shadow_req,
  2725							force_nonblock);
  2726				link = NULL;
  2727				shadow_req = NULL;
  2728			}
  2729			prev_was_link = (s.sqe->flags & IOSQE_IO_LINK) != 0;
  2730	
  2731			if (link && (s.sqe->flags & IOSQE_IO_DRAIN)) {
  2732				if (!shadow_req) {
  2733					shadow_req = io_get_req(ctx, NULL);
  2734					if (unlikely(!shadow_req))
  2735						goto out;
  2736					shadow_req->flags |= (REQ_F_IO_DRAIN | REQ_F_SHADOW_DRAIN);
  2737					refcount_dec(&shadow_req->refs);
  2738				}
  2739				shadow_req->sequence = s.sequence;
  2740			}
  2741	
  2742	out:
  2743			s.has_user = true;
  2744			s.needs_lock = false;
  2745			s.needs_fixed_file = false;
  2746			submit++;
  2747	
  2748			/*
  2749			 * The caller will block for events after submit, submit the
  2750			 * last IO non-blocking. This is either the only IO it's
  2751			 * submitting, or it already submitted the previous ones. This
  2752			 * improves performance by avoiding an async punt that we don't
  2753			 * need to do.
  2754			 */
  2755			if (block_for_last && submit == to_submit)
  2756				force_nonblock = false;
  2757	
  2758			io_submit_sqe(ctx, &s, statep, &link, force_nonblock);
  2759		}
  2760		io_commit_sqring(ctx);
  2761	
  2762		if (link)
  2763			io_queue_link_head(ctx, link, &link->submit, shadow_req,
> 2764						force_nonblock);
  2765		if (statep)
  2766			io_submit_state_end(statep);
  2767	
  2768		return submit;
  2769	}
  2770	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 51648 bytes --]

  parent reply	other threads:[~2019-10-04  9:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-04  8:25 [PATCH] io_uring: Fix reversed nonblock flag Pavel Begunkov (Silence)
2019-10-04  8:32 ` Pavel Begunkov
2019-10-04  9:23 ` kbuild test robot [this message]
2019-10-04  9:23   ` kbuild test robot
2019-10-04  9:33 ` kbuild test robot
2019-10-04  9:33   ` kbuild test robot
2019-10-04 10:07 ` [PATCH v2] " Pavel Begunkov (Silence)
2019-10-04 13:05   ` Jens Axboe
2019-10-04 13:58     ` Pavel Begunkov
2019-10-04 14:01   ` [PATCH v3] " Pavel Begunkov (Silence)
2019-10-04 14:04     ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201910041715.ggmQFeIk%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=kbuild-all@01.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.