From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4965BC433E0 for ; Wed, 3 Mar 2021 16:41:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F0A1264E74 for ; Wed, 3 Mar 2021 16:41:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235204AbhCCQgQ (ORCPT ); Wed, 3 Mar 2021 11:36:16 -0500 Received: from out30-42.freemail.mail.aliyun.com ([115.124.30.42]:52844 "EHLO out30-42.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344172AbhCCC4f (ORCPT ); Tue, 2 Mar 2021 21:56:35 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R591e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04395;MF=jefflexu@linux.alibaba.com;NM=1;PH=DS;RN=10;SR=0;TI=SMTPD_---0UQAbNuR_1614740007; Received: from admindeMacBook-Pro-2.local(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0UQAbNuR_1614740007) by smtp.aliyun-inc.com(127.0.0.1); Wed, 03 Mar 2021 10:53:27 +0800 Subject: Re: [dm-devel] [PATCH 4/4] dm: support I/O polling To: Mikulas Patocka , Mike Snitzer , Heinz Mauelshagen , axboe@kernel.dk, caspar@linux.alibaba.com, io-uring@vger.kernel.org, linux-block@vger.kernel.org, joseph.qi@linux.alibaba.com, dm-devel@redhat.com, hch@lst.de References: <20210302190555.201228400@debian-a64.vm> From: JeffleXu Message-ID: <33fa121a-88a8-5c27-0a43-a7efc9b5b3e3@linux.alibaba.com> Date: Wed, 3 Mar 2021 10:53:27 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210302190555.201228400@debian-a64.vm> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org On 3/3/21 3:05 AM, Mikulas Patocka wrote: > Support I/O polling if submit_bio_noacct_mq_direct returned non-empty > cookie. > > Signed-off-by: Mikulas Patocka > > --- > drivers/md/dm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > Index: linux-2.6/drivers/md/dm.c > =================================================================== > --- linux-2.6.orig/drivers/md/dm.c 2021-03-02 19:26:34.000000000 +0100 > +++ linux-2.6/drivers/md/dm.c 2021-03-02 19:26:34.000000000 +0100 > @@ -1682,6 +1682,11 @@ static void __split_and_process_bio(stru > } > } > > + if (ci.poll_cookie != BLK_QC_T_NONE) { > + while (atomic_read(&ci.io->io_count) > 1 && > + blk_poll(ci.poll_queue, ci.poll_cookie, true)) ; > + } > + > /* drop the extra reference count */ > dec_pending(ci.io, errno_to_blk_status(error)); > } It seems that the general idea of your design is to 1) submit *one* split bio 2) blk_poll(), waiting the previously submitted split bio complets and then submit next split bio, repeating the above process. I'm afraid the performance may be an issue here, since the batch every time blk_poll() reaps may decrease. Besides, the submitting routine and polling routine is bound together here, i.e., polling is always synchronous. -- Thanks, Jeffle From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 500A8C433DB for ; Wed, 3 Mar 2021 08:47:31 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4AFDC64EE3 for ; Wed, 3 Mar 2021 08:47:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4AFDC64EE3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: mail.kernel.org; spf=tempfail smtp.mailfrom=dm-devel-bounces@redhat.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-4-AsfTT88fPuG36ykOUB1qNg-1; Wed, 03 Mar 2021 03:47:27 -0500 X-MC-Unique: AsfTT88fPuG36ykOUB1qNg-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1897D85B660; Wed, 3 Mar 2021 08:47:23 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 20EF26A050; Wed, 3 Mar 2021 08:47:22 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 3EBC257DFA; Wed, 3 Mar 2021 08:47:18 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 1232rc39004228 for ; Tue, 2 Mar 2021 21:53:39 -0500 Received: by smtp.corp.redhat.com (Postfix) id D0FD810D16CD; Wed, 3 Mar 2021 02:53:38 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CC697112D42A for ; Wed, 3 Mar 2021 02:53:36 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 64959858F0E for ; Wed, 3 Mar 2021 02:53:36 +0000 (UTC) Received: from out30-131.freemail.mail.aliyun.com (out30-131.freemail.mail.aliyun.com [115.124.30.131]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-225-iNJ919QHP9Ke5kjzukfQWg-1; Tue, 02 Mar 2021 21:53:31 -0500 X-MC-Unique: iNJ919QHP9Ke5kjzukfQWg-1 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R591e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e04395; MF=jefflexu@linux.alibaba.com; NM=1; PH=DS; RN=10; SR=0; TI=SMTPD_---0UQAbNuR_1614740007 Received: from admindeMacBook-Pro-2.local(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0UQAbNuR_1614740007) by smtp.aliyun-inc.com(127.0.0.1); Wed, 03 Mar 2021 10:53:27 +0800 To: Mikulas Patocka , Mike Snitzer , Heinz Mauelshagen , axboe@kernel.dk, caspar@linux.alibaba.com, io-uring@vger.kernel.org, linux-block@vger.kernel.org, joseph.qi@linux.alibaba.com, dm-devel@redhat.com, hch@lst.de References: <20210302190555.201228400@debian-a64.vm> From: JeffleXu Message-ID: <33fa121a-88a8-5c27-0a43-a7efc9b5b3e3@linux.alibaba.com> Date: Wed, 3 Mar 2021 10:53:27 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210302190555.201228400@debian-a64.vm> X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-loop: dm-devel@redhat.com X-Mailman-Approved-At: Wed, 03 Mar 2021 03:47:16 -0500 Subject: Re: [dm-devel] [PATCH 4/4] dm: support I/O polling X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 3/3/21 3:05 AM, Mikulas Patocka wrote: > Support I/O polling if submit_bio_noacct_mq_direct returned non-empty > cookie. > > Signed-off-by: Mikulas Patocka > > --- > drivers/md/dm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > Index: linux-2.6/drivers/md/dm.c > =================================================================== > --- linux-2.6.orig/drivers/md/dm.c 2021-03-02 19:26:34.000000000 +0100 > +++ linux-2.6/drivers/md/dm.c 2021-03-02 19:26:34.000000000 +0100 > @@ -1682,6 +1682,11 @@ static void __split_and_process_bio(stru > } > } > > + if (ci.poll_cookie != BLK_QC_T_NONE) { > + while (atomic_read(&ci.io->io_count) > 1 && > + blk_poll(ci.poll_queue, ci.poll_cookie, true)) ; > + } > + > /* drop the extra reference count */ > dec_pending(ci.io, errno_to_blk_status(error)); > } It seems that the general idea of your design is to 1) submit *one* split bio 2) blk_poll(), waiting the previously submitted split bio complets and then submit next split bio, repeating the above process. I'm afraid the performance may be an issue here, since the batch every time blk_poll() reaps may decrease. Besides, the submitting routine and polling routine is bound together here, i.e., polling is always synchronous. -- Thanks, Jeffle -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel