Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp9585043ybl; Fri, 17 Jan 2020 14:52:01 -0800 (PST) X-Google-Smtp-Source: APXvYqx7UA6vwhR1grjAFel1NIuz1oYgSCN9e8V9xDonViHUV6QL5xYq5AdzhLcvi0w/q+TdXryH X-Received: by 2002:a05:6830:10a:: with SMTP id i10mr7593470otp.365.1579301521113; Fri, 17 Jan 2020 14:52:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579301521; cv=none; d=google.com; s=arc-20160816; b=Tjz8opo+CdLbo7u++8tcXN71MKeT9D/nfCbHFbab1oxoHRJbD+rmuwToKMy8PeObq/ ar5wOKJymOwRiPGvDCyiyk4vYdHRZQsneIvtPOTr5HTR6gNsDaagtaOIJnDAT29mfZf8 LLH+QHYIHJWej56DCFQDr9YUR80p1ngb0Jypez0cmzfyiskjppeEs21kP5VyjxHpfBVy e0QiAySVAqIuyZwul/NWfOBuRYn55PiCZBdPzFh9cBx0DcCOObva/HxcX7EOR6yyk9cl c6v9BlFEx2sGdaNFkpZLODms28d1cZkAG9rBN3rtvCAGZsWPAz6HzjvlwaVnQv3+cmT1 BRfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature; bh=ZnIsvgBNU6IQmG/k8i440EZAGu2ojc3ERdtZNixfQFc=; b=03XglzpRRb9rdxnoayqrUDMlnrWqRyJQn7lVQlW8JrIbx9gtjbLLJFS+ewFNAFpKG3 zK3oJp6HE37dapP5uZMpT7fpKKUelo9AiuTZ/9esRRjXBVud1W4OwOIiBE9VPbOhHV/O Oo9GUHTaVhPr+pf4YI5+Fyq2lfqunPUJeL60iwwrjmSTn1G+Qbvmcmq8mVoPaTsvUMQQ EAmhAlv032vbQ4dgwhZC5U5C+DUnZWSSGekFaP3Gb+BQtJ+ISdPSTThggb3Ls4pW2Yfr b9KbfGGCEsgIBoB4z1fMsOoyVMoO+JNFKWlMkNLrkexjsTtKD6bcshVXfBFp5dlP5sDH Nk+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=nncCfH9s; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n85si14397701oig.191.2020.01.17.14.51.48; Fri, 17 Jan 2020 14:52:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=nncCfH9s; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729184AbgAQWtw (ORCPT + 99 others); Fri, 17 Jan 2020 17:49:52 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:45478 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728760AbgAQWtv (ORCPT ); Fri, 17 Jan 2020 17:49:51 -0500 Received: by mail-pg1-f194.google.com with SMTP id b9so12312098pgk.12 for ; Fri, 17 Jan 2020 14:49:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=ZnIsvgBNU6IQmG/k8i440EZAGu2ojc3ERdtZNixfQFc=; b=nncCfH9sb+lCn6MBZwrKhtlnpXHpP12Uxnk3lrqoRTC/BwdpOG8vuwJXNu5mUKcg2q Jeji/YArjEjWoD9/2zfF+GH5NKR5gDGLXBpZ9SRorZfVtAF5AEV+d2Syc5yRu3dAcHey 7EnVKIvntpJ4w5DxxBqhKCa8QzrBxGioD6svfLz7tfMj8FC9Y5jd+65540nO3Gow1K0G QjmxcsC+mq2LS4PEc4zbgC8JwnzqRkN7hb8YY76bFE/8Rl9zKrC/vHL9hr54FasKyuB2 mFY2SEQw0VmR5oX3w7M9U8kR30KVmVroewdFcj6rprc96kuYdeqXNUjKHlJwTL+BXajD j9Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ZnIsvgBNU6IQmG/k8i440EZAGu2ojc3ERdtZNixfQFc=; b=tn9k1xD63Dh8xvT8jZAaqatw7ITpSoLUG86O7ySztxdcN6iZxX1Nw1lGhOpAarO9yJ 9rFWYGmC27N2UCEfCLGFO2Np6jb8DzkWsuERc7qfCZjvKHPB9VhWlYG5b3t6Nozf10Cf ONwHIGMqaZ3IHfCwNr//73qIHQ2/zkpDy6tOygKfOnWIU4nD+aLGx7r4pG9RkFpGvSMh N7TVHzHY2KyqjHBkyE6CoVZ4QBBIDvXus8BpArmH+q7FjIfBk2LISCcWFE8I70pSw8ue pqoptO/+FvoaPz5i4WpBtZtYO01mtI211S1AWLpKT5Ol8ivUNJNxuFhIjEo0aRfklznQ q3VQ== X-Gm-Message-State: APjAAAVSXyczoKICyWHigaveOFjbFYH/rbDqZDQulTKnA9XpaXJ+hOgR rdehEeRzAL/ADto4nHdEmV+HBWulZQ4= X-Received: by 2002:a62:1cd6:: with SMTP id c205mr5286906pfc.179.1579301390835; Fri, 17 Jan 2020 14:49:50 -0800 (PST) Received: from [192.168.1.188] ([66.219.217.145]) by smtp.gmail.com with ESMTPSA id y21sm30504299pfm.136.2020.01.17.14.49.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 17 Jan 2020 14:49:50 -0800 (PST) Subject: Re: [PATCH 0/2] optimise sqe-to-req flags To: Pavel Begunkov , io-uring@vger.kernel.org, linux-kernel@vger.kernel.org References: <37a04c11e980f49cb17a4fd071d2d71a291a8fd5.1579299684.git.asml.silence@gmail.com> From: Jens Axboe Message-ID: Date: Fri, 17 Jan 2020 15:49:49 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/17/20 3:41 PM, Pavel Begunkov wrote: > *lost the cover-letter, but here we go* > > The main idea is to optimise code like the following by directly > copying sqe flags: > > if (sqe_flags & IOSQE_IO_HARDLINK) > req->flags |= REQ_F_HARDLINK; > > The first patch is a minor cleanup, and the second one do the > trick. No functional changes. > > The other thing to consider is whether to use such flags as > REQ_F_LINK = IOSQE_IO_LINK, or directly use IOSQE_IO_LINK instead. I think we should keep the names separate. I think it looks fine, though I do wish that we could just have both in an enum and not have to do weird naming. We sometimes do: enum { __REQ_F_FOO }; #define REQ_F_FOO (1U << __REQ_F_FOO) and with that we could have things Just Work in terms of numbering, if we keep the overlapped values at the start. Would need IOSQE_* to also use an enum, ala: enum { __IOSQE_FIXED_FILE, __IOSQE_IO_DRAIN, ... }; and then do #define IOSQE_FIXED_FILE (1U << __IOSQE_FIXED_FILE) and have the __REQ enum start with enum { __REQ_F_FIXED_FILE = __IOSQE_FIXED_FILE, __REQ_F_IO_DRAIN = __IOSQE_IO_DRAIN, ... __REQ_F_LINK_NEXT, __REQ_F_FAIL_LINK, ... }; -- Jens Axboe