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=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,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 1EA38C433DB for ; Wed, 24 Feb 2021 03:48:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C4CEF64E60 for ; Wed, 24 Feb 2021 03:48:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232672AbhBXDsT (ORCPT ); Tue, 23 Feb 2021 22:48:19 -0500 Received: from out30-57.freemail.mail.aliyun.com ([115.124.30.57]:40963 "EHLO out30-57.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232147AbhBXDsR (ORCPT ); Tue, 23 Feb 2021 22:48:17 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R201e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04394;MF=haoxu@linux.alibaba.com;NM=1;PH=DS;RN=3;SR=0;TI=SMTPD_---0UPQGkig_1614138454; Received: from B-25KNML85-0107.local(mailfrom:haoxu@linux.alibaba.com fp:SMTPD_---0UPQGkig_1614138454) by smtp.aliyun-inc.com(127.0.0.1); Wed, 24 Feb 2021 11:47:35 +0800 Subject: Re: [PATCH v2 1/1] io_uring: allocate memory for overflowed CQEs To: Jens Axboe , Pavel Begunkov , io-uring@vger.kernel.org References: From: Hao Xu Message-ID: <1c7f2163-8355-4479-9842-a8a513b9855d@linux.alibaba.com> Date: Wed, 24 Feb 2021 11:47:34 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: io-uring@vger.kernel.org 在 2021/2/24 上午11:18, Jens Axboe 写道: > On 2/23/21 8:06 PM, Hao Xu wrote: >> 在 2021/2/23 下午8:40, Pavel Begunkov 写道: >>> Instead of using a request itself for overflowed CQE stashing, allocate >>> a separate entry. The disadvantage is that the allocation may fail and >>> it will be accounted as lost (see rings->cq_overflow), so we lose >>> reliability in case of memory pressure. However, it opens a way for for >>> multiple CQEs per an SQE and even generating SQE-less CQEs > >>> Signed-off-by: Pavel Begunkov >>> --- >> Hi Pavel, >> Allow me to ask a stupid question, why do we need to support multiple >> CQEs per SQE or even SQE-less CQEs in the future? > > Not a stupid question at all, since it's not something we've done > before. There's been discussion about this in the past, in the presence > of the zero copy IO where we ideally want to post two CQEs for an SQE. > Most recently I've been playing with multishot poll support, where a > POLL_ADD will stay active after triggering. Hence you could be posting > many CQEs for that SQE, over the life time of the request. > I see, super thanks Jens.