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=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 6D487C48BDF for ; Tue, 15 Jun 2021 07:00:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 497D96141B for ; Tue, 15 Jun 2021 07:00:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230096AbhFOHCU (ORCPT ); Tue, 15 Jun 2021 03:02:20 -0400 Received: from out30-42.freemail.mail.aliyun.com ([115.124.30.42]:48133 "EHLO out30-42.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbhFOHCL (ORCPT ); Tue, 15 Jun 2021 03:02:11 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R831e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04400;MF=teawaterz@linux.alibaba.com;NM=1;PH=DS;RN=6;SR=0;TI=SMTPD_---0UcURDlO_1623740392; Received: from localhost(mailfrom:teawaterz@linux.alibaba.com fp:SMTPD_---0UcURDlO_1623740392) by smtp.aliyun-inc.com(127.0.0.1); Tue, 15 Jun 2021 15:00:06 +0800 From: Hui Zhu To: david@redhat.com, mst@redhat.com, jasowang@redhat.com, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org Cc: Hui Zhu Subject: [RFC] virtio-mem: virtio_mem_init: Access bb_size just in BBM mode Date: Tue, 15 Jun 2021 14:59:48 +0800 Message-Id: <20210615065948.23493-1-teawater@gmail.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hui Zhu /* In BBM, we also want at least two big blocks. */ vm->offline_threshold = max_t(uint64_t, 2 * vm->bbm.bb_size, vm->offline_threshold); This line does not modify vm->offline_threshold depending on the data in vm->sbm that shares this address is 0 in SBM mode. I think it might be difficult to make sure when we change this in the future. This commit adds an if to make sure that this line just be executed in BBM mode. Signed-off-by: Hui Zhu --- drivers/virtio/virtio_mem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mem.c b/drivers/virtio/virtio_mem.c index 10ec60d..8185916 100644 --- a/drivers/virtio/virtio_mem.c +++ b/drivers/virtio/virtio_mem.c @@ -2472,8 +2472,9 @@ static int virtio_mem_init(struct virtio_mem *vm) vm->offline_threshold = max_t(uint64_t, 2 * memory_block_size_bytes(), VIRTIO_MEM_DEFAULT_OFFLINE_THRESHOLD); /* In BBM, we also want at least two big blocks. */ - vm->offline_threshold = max_t(uint64_t, 2 * vm->bbm.bb_size, - vm->offline_threshold); + if (!vm->in_sbm) + vm->offline_threshold = max_t(uint64_t, 2 * vm->bbm.bb_size, + vm->offline_threshold); dev_info(&vm->vdev->dev, "start address: 0x%llx", vm->addr); dev_info(&vm->vdev->dev, "region size: 0x%llx", vm->region_size); -- 1.8.3.1