Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp3478301ioa; Tue, 26 Apr 2022 04:28:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9QELCwbjISQwDP6WUBkRVIq7vwojsSazU2Xfq0wQcRZ1WWZtl8sexH/Eqctb5AOkKwk67 X-Received: by 2002:a17:90b:390c:b0:1d0:9963:6eb8 with SMTP id ob12-20020a17090b390c00b001d099636eb8mr36597790pjb.59.1650972499071; Tue, 26 Apr 2022 04:28:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650972499; cv=none; d=google.com; s=arc-20160816; b=N+To8ECFbFHZRKz9KRFlLGs5kro+fKp9vYvbF3OwkGosHUku0QsZSJoQNqWJ8OmlFD /gkFgFVt/N5BYUlN5QaLNkPBAc55uFVIO7Cpf9A6JhalExq+fWbLoMLiKNxV90g+fxaB 1jyxl8HZoAYbBiXZeq+1pRiD9oH53weeLd8Je4HIk1q9bgQRr+00zqp6iAt/4b2N9wup Wyo4LzZPyaiLmltjP/v48v5pIEgTU23Cs2O2mqU0D3RqZEbOIUAirA/oMI/PSlLhVXNa wnAGYTsq9j5YKfP26lw0bgWUXHIKwr2BW0yzBctpHdlZn+4Y+dFEo5C/PqO4nITgOkGB YknA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=1/hENAUukCOcFYiz1tmkcBM4NFSRFtd+RAcT1P7ZsT8=; b=Rmg4y7vTjsa4EE8N5xXArbdFa96IJMVrMuPqYD4EYdCdIf8FWo1YwYRUQuMwNM92cY pzTw2Z4nU8pp4sYZKrzv3LKbR9lYEVp60F4MfozLXVP0LOPjFXeKQFdHCDHs9mQf1VR4 O5eWins56YiGTmYC/yVmSBhvO/6dZg3ERvqoZYfn3MD+PvtL2iD5+BdlSTZUoVGhn/Yz kHVn8DK5IeHyPvJ6E1lo8Iz2e6CGsd7VwwBLyYrYCZHyPOqWy8/5GsHKUWCvLORDwQbP pE48S6rtESmSLZCgq7w9/uqlSpxtUiWxt1lk+lLZ1pUa4PDAynUiHP8W/TsbpwsNMBRa KltA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k5-20020a170902760500b0015495894d28si17670725pll.412.2022.04.26.04.28.05; Tue, 26 Apr 2022 04:28:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234177AbiDZCK2 (ORCPT + 99 others); Mon, 25 Apr 2022 22:10:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231364AbiDZCK0 (ORCPT ); Mon, 25 Apr 2022 22:10:26 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42A9A1EEDC; Mon, 25 Apr 2022 19:07:21 -0700 (PDT) Received: from kwepemi500005.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4KnQHW0nZHzhYqr; Tue, 26 Apr 2022 10:07:03 +0800 (CST) Received: from kwepemm600009.china.huawei.com (7.193.23.164) by kwepemi500005.china.huawei.com (7.221.188.179) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 26 Apr 2022 10:07:19 +0800 Received: from huawei.com (10.175.127.227) by kwepemm600009.china.huawei.com (7.193.23.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 26 Apr 2022 10:07:18 +0800 From: Yu Kuai To: , , CC: , , , Subject: [PATCH] null-blk: save memory footprint for struct nullb_cmd Date: Tue, 26 Apr 2022 10:21:33 +0800 Message-ID: <20220426022133.3999006-1-yukuai3@huawei.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.127.227] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600009.china.huawei.com (7.193.23.164) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Total 16 bytes can be saved in two ways: 1) The field 'bio' will only be used in bio based mode, and the field 'rq' will only be used in mq mode. Since they won't be used in the same time, declare a union for them. 2) The field 'bool fake_timeout' can be placed in the hole after the field 'error'. Signed-off-by: Yu Kuai --- drivers/block/null_blk/null_blk.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/block/null_blk/null_blk.h b/drivers/block/null_blk/null_blk.h index 78eb56b0ca55..4525a65e1b23 100644 --- a/drivers/block/null_blk/null_blk.h +++ b/drivers/block/null_blk/null_blk.h @@ -16,13 +16,15 @@ #include struct nullb_cmd { - struct request *rq; - struct bio *bio; + union { + struct request *rq; + struct bio *bio; + }; unsigned int tag; blk_status_t error; + bool fake_timeout; struct nullb_queue *nq; struct hrtimer timer; - bool fake_timeout; }; struct nullb_queue { -- 2.31.1