From patchwork Fri Dec 7 22:19:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 10718863 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E8E4F15A6 for ; Fri, 7 Dec 2018 22:20:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DB0242F719 for ; Fri, 7 Dec 2018 22:20:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CF3B12F72F; Fri, 7 Dec 2018 22:20:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8789B2F719 for ; Fri, 7 Dec 2018 22:20:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726143AbeLGWUk (ORCPT ); Fri, 7 Dec 2018 17:20:40 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:32814 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726137AbeLGWUj (ORCPT ); Fri, 7 Dec 2018 17:20:39 -0500 Received: by mail-pg1-f194.google.com with SMTP id z11so2311196pgu.0 for ; Fri, 07 Dec 2018 14:20:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=j8zbGImEaiI6fzdEzobInCNQIlTJ46kLaRSNEoXmu1s=; b=H3vt1ygNmN7jAiiG/KRMk9LQKtQheMfaCpKOCYztxiaFLavZ5wjh4vbptta/7gbi5i 4tg2qf0guLyW2xkYre0GdKRE0dTzbfu9O6CzpQ8Z2KA5pH7H8YTbwB4Xcf44HlNg71D/ ijloX7nOSFO8qGNwgthDKqju3OWs44D28QZKHAaQ4zbtjrCilsW7kRJ0heMuG+aECpEW SAM/1C1Qsn1YuHg3FoYegZUhsac/QJmFuASeeofuC+RV/1fvbI8ycpNmezqcF5JDU9sm SQpVpOf7GrLvlXwbP1cC/aWn+uZPfiC2vVLYVVREDKa55YZOARLIeWIoVRIpeIxfNCY9 G6ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=j8zbGImEaiI6fzdEzobInCNQIlTJ46kLaRSNEoXmu1s=; b=LQjY3uBTU6qXHeq8PzR9xLuuQHAFDOkarLuKmMeQxj99SdwwLDibkzY7xePgYBwOTj Bz3tzSP3B+kZoZ91WcF9M3zGR0XmH/lDo3kEEByq2VH3aHKOP/XLyKXKVdByVKQURbgy I/Bx45qXLMhF3H0bdeuF5wQqc0npXeOq2yRDo3FNSrG9aWziy+wPqN1TbUlxXK/UAHMQ qMCS5N9gNRZaFFhyDZjvodYyWnzYs1owi09/W5XjxiJkACN20eATFN4xBlaifuXJT2c+ YUcsK4AtDbu6A7YO8wPuHOjV+bOvkhRhQ+RX6xTaJDEITNKJqvU+Aikcfx4G7U8OR0qx i+mQ== X-Gm-Message-State: AA+aEWa++8PogRhbwCyaWekZH7kDFuqHR31lT86eA+gcT61PW32cpagj 4fpZtE7/+3KL4RtZCIKpihe1Md5Yah8= X-Google-Smtp-Source: AFSGD/UB1/R66WvOFzl7R7V/TsvM2l/guymfbUrF/oKzdnniJcZ5of7d2lk1n08QCqYmGtpk6telfw== X-Received: by 2002:a63:d747:: with SMTP id w7mr3451509pgi.360.1544221238149; Fri, 07 Dec 2018 14:20:38 -0800 (PST) Received: from x1.localdomain (66.29.188.166.static.utbb.net. [66.29.188.166]) by smtp.gmail.com with ESMTPSA id e9sm5282511pff.5.2018.12.07.14.20.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Dec 2018 14:20:37 -0800 (PST) From: Jens Axboe To: linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-aio@kvack.org Cc: hch@lst.de, jmoyer@redhat.com, clm@fb.com, Jens Axboe Subject: [PATCH 08/26] aio: don't zero entire aio_kiocb aio_get_req() Date: Fri, 7 Dec 2018 15:19:58 -0700 Message-Id: <20181207222016.29387-9-axboe@kernel.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207222016.29387-1-axboe@kernel.dk> References: <20181207222016.29387-1-axboe@kernel.dk> Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP It's 192 bytes, fairly substantial. Most items don't need to be cleared, especially not upfront. Clear the ones we do need to clear, and leave the other ones for setup when the iocb is prepared and submitted. Reviewed-by: Christoph Hellwig Signed-off-by: Jens Axboe --- fs/aio.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index eaceb40e6cf5..522c04864d82 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1009,14 +1009,15 @@ static inline struct aio_kiocb *aio_get_req(struct kioctx *ctx) { struct aio_kiocb *req; - req = kmem_cache_alloc(kiocb_cachep, GFP_KERNEL|__GFP_ZERO); + req = kmem_cache_alloc(kiocb_cachep, GFP_KERNEL); if (unlikely(!req)) return NULL; percpu_ref_get(&ctx->reqs); + req->ki_ctx = ctx; INIT_LIST_HEAD(&req->ki_list); refcount_set(&req->ki_refcnt, 0); - req->ki_ctx = ctx; + req->ki_eventfd = NULL; return req; } @@ -1730,6 +1731,10 @@ static ssize_t aio_poll(struct aio_kiocb *aiocb, struct iocb *iocb) if (unlikely(!req->file)) return -EBADF; + req->head = NULL; + req->woken = false; + req->cancelled = false; + apt.pt._qproc = aio_poll_queue_proc; apt.pt._key = req->events; apt.iocb = aiocb;