Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3417688pxj; Tue, 15 Jun 2021 00:00:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdAFh1WUXxQkl6/34ASRIyNexwxQQqX7io8qR4+57q93FoVLttG5eeXE+0PtXAl3HPaPlF X-Received: by 2002:a05:6638:3807:: with SMTP id i7mr20558658jav.5.1623740455076; Tue, 15 Jun 2021 00:00:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623740455; cv=none; d=google.com; s=arc-20160816; b=N10U2/aHb+VPvrEZ3ThTmK6Fq/U+eralho6ShQrijPbFz7N+UDJ0fk0xEm+pInKQYX ubnwx1AnPSNVBms//xLi4P4pP28DLHbA9xrQB149h0kYc7vY+FwjoDw7mTCZZd7LU8uF Xc/7/s6mHlyzlckbXMdgePI0cCpHaH0Eazmi8duUzR03jN+srZFTAcaBJtneirOCnLNN lFwaybo21vjRyTLwRblnmwWoSx99xj6aVjGl+oaUN/DGx0bATNDCcpm0AN0GhtlUo50M 3qLBNcSvn9lC0hm4i3ddR7Ahh/s/t17TxKLrLyVxpoGxPKy480cnuQ4gvw1jcPzOzMUV zMbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=bRAJf+sMKXynoMc8ixYOEHWtmdKmzNyRj/XtmGGHjNc=; b=as5jJ/QfKuoHqAdO3Yno6SmoDElrY2EZmUanUvGu363vzNn4sk3mwOudOXkk1ZnJRc zjHlqWjmWrcWSlLA4PUuNozOMcrsp9RNoW2W4+cshfRU3jTCGvsl+6tdp2dlBijxDJVa hNCg1WAmViH8+7rFA5YBJYnmmTK0xizgtYkel+NtSTdqQo6AcR3PFp2f9Itd0GESpNZr IykuIVsj+d/NoiTalEqXG9+YYgZ1qcgOtsYMLVPMww4HvyJ3FpV3ifKqWD1Uyk07ospx w0SZKOKlQdM2FrrqThQACknhQat5ipQBG5MzD7PZP/LGtR9nyFFBuRGn0+bGCVU3UZTR iV9w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v3si18059064ilo.64.2021.06.15.00.00.41; Tue, 15 Jun 2021 00:00:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229520AbhFOHCQ (ORCPT + 99 others); Tue, 15 Jun 2021 03:02:16 -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