All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tao Ma <tm@tao.ma>
To: Shaohua Li <shli@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jens Axboe <jaxboe@fusionio.com>
Subject: Re: [PATCH RESEND] block: Don't check QUEUE_FLAG_SAME_COMP in __blk_complete_request.
Date: Thu, 15 Sep 2011 10:16:02 +0800	[thread overview]
Message-ID: <4E715FE2.7040004@tao.ma> (raw)
In-Reply-To: <CANejiEWa5um5LtRkL3NcbNgBnUCG1Ud8qw-hfXW3X3GPfHv4iQ@mail.gmail.com>

On 09/15/2011 09:05 AM, Shaohua Li wrote:
> 2011/9/14 Tao Ma <tm@tao.ma>:
>> From: Tao Ma <boyu.mt@taobao.com>
>>
>> In __blk_complete_request, we check both QUEUE_FLAG_SAME_COMP and req->cpu
>> to decide whether we should use req->cpu. Actually the user can also
>> select the complete cpu by either setting BIO_CPU_AFFINE or by calling
>> bio_set_completion_cpu. Current solution makes these 2 ways don't work
>> any more. So we'd better just check req->cpu.
>>
>> Cc: Jens Axboe <jaxboe@fusionio.com>
>> Signed-off-by: Tao Ma <boyu.mt@taobao.com>
>> ---
>>  block/blk-softirq.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/block/blk-softirq.c b/block/blk-softirq.c
>> index 58340d0..1366a89 100644
>> --- a/block/blk-softirq.c
>> +++ b/block/blk-softirq.c
>> @@ -115,7 +115,7 @@ void __blk_complete_request(struct request *req)
>>        /*
>>         * Select completion CPU
>>         */
>> -       if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) && req->cpu != -1) {
>> +       if (req->cpu != -1) {
>>                ccpu = req->cpu;
>>                if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) {
>>                        ccpu = blk_cpu_to_group(ccpu);
> why not delete bio_set_completion_cpu()?
Not sure. It is added in commit c7c22e4d from the very beginning, and in
the commit log Jens described it as:
A bio helper (bio_set_completion_cpu()) is also added, so that queuers
can ask for completion on that specific CPU. Maybe it is obsolete.
Anyway, I am fine to generate a patch to remove it if you prefer.
> 1. nobody uses it in my search
yes, but it may be designed for someone to use it. The same goes with
BIO_CPU_AFFINE.
> 2. it's misleading. even setting the completion cpu, the bio isn't
> always to run finish in the cpu,
> it's just run in the group of the cpu.
Without this patch, it works as you said.
But with this patch, it the user uses bio_set_completion_cpu and
QUEUE_FLAG_SAME_FORCE isn't set, the completion will happen in the
req->cpu the user specified.

Jens,
	Do you have any option for it? Whether we should preserve it and make
it work or just totally remove it?

Thanks
Tao

  reply	other threads:[~2011-09-15  2:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-14  7:23 [PATCH RESEND] block: warn if tag is greater than real_max_depth Tao Ma
2011-09-14  7:23 ` [PATCH RESEND] block: Don't check QUEUE_FLAG_SAME_COMP in __blk_complete_request Tao Ma
2011-09-15  1:05   ` Shaohua Li
2011-09-15  2:16     ` Tao Ma [this message]
2011-09-15 11:17       ` Christoph Hellwig
2011-09-15 11:28         ` Jens Axboe
2011-09-15 14:48           ` Tao Ma
2011-10-24 15:03 ` [PATCH RESEND] block: warn if tag is greater than real_max_depth Tao Ma
2011-10-25  8:19   ` Jens Axboe
2011-12-20  0:07     ` Dan Williams
2011-12-20  1:11       ` Tao Ma
2011-12-20  1:45         ` Dan Williams
2011-12-20 13:56           ` Jens Axboe
2011-12-20 15:21             ` Tao Ma
2011-12-20 15:58             ` [PATCH] block: warn the wrong tag only if it " Tao Ma
2011-12-20 17:31               ` Williams, Dan J
2011-12-20 17:31                 ` Williams, Dan J

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=4E715FE2.7040004@tao.ma \
    --to=tm@tao.ma \
    --cc=jaxboe@fusionio.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shli@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.