Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp394836ybh; Mon, 20 Jul 2020 20:28:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw6G0i1T+T8JxGLCoevNs3ssHxDmrtnrvc06fAc5cZV2EhGR/1iHjb53z/LDJm2k4DVMwdn X-Received: by 2002:a17:906:2e50:: with SMTP id r16mr24625281eji.371.1595302086870; Mon, 20 Jul 2020 20:28:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595302086; cv=none; d=google.com; s=arc-20160816; b=EYx7NUIpKM4MMaa6ECIFbrlTOa8ESg2VCC3uAX5RgjO4Cc7BykhnLmS/IBBmDC5N2L 7J857mTxZWwYMt15M4N/rVHSGsKAWGyQ5gpZqTihrqCQRQ2BZ5M1pEJBZCzTR3Lcb8/F 5v/PgKz/B+RK/b0rhLfP/boD663ksg2UUVH5IpIXaWQIGDz/oj+z0ch05FKnocaYCbOh +6mJgc7H/fwlLkBafVa47UaMrh4tt4nsZ79ZkzNJBaMRFeDHzpg0EukUJAKs9KQlCnyL mgjugSSYHtQUysOtrmCBGTQfiU2jZG6OBysqMfR5FT9wnh5unWlBnPaUhV7niGXQYiPO xCNQ== 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:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject; bh=yt7hBxB4A2KiBW2QEkI0gPXZnlK31wXC+wkk/OCKQ5k=; b=ase8xsJg1m8xm2Bg3aEZDNk2qBXr4P4EBFUHgl8K1BcbF2WFtvwTKwwuswyJS2TaaS L6JH0Uii8u3m0gAHn+fav14JSxbLnF77kPwKiDESWCpZEqKtZyCyQe/3JT4esv3Oindi RyJQGKNupjrBR0s/qJTkb1jBdevEnzPV4RWD12zRmZmsqEDSAPcrVzjGJ+AwSEFB+/yQ k3JWzDyItWobgZweMOcxjZoCbTBjxw8M9XXZPEdURXum828nwmkD2n2MHiZOVkAqDMF2 0OqcSgowaeYJUb7+XvwnH389Dd5gHRlhlWyRFwX+hNUjqlOH7LwdnuuC8PsBamXfvSp7 BWcA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c10si11675510ejs.1.2020.07.20.20.27.44; Mon, 20 Jul 2020 20:28:06 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728712AbgGUD0o (ORCPT + 99 others); Mon, 20 Jul 2020 23:26:44 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:38376 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726715AbgGUD0n (ORCPT ); Mon, 20 Jul 2020 23:26:43 -0400 Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id A0D07E63F265E152B026; Tue, 21 Jul 2020 11:26:39 +0800 (CST) Received: from [10.174.187.22] (10.174.187.22) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.487.0; Tue, 21 Jul 2020 11:26:31 +0800 Subject: Re: [PATCH 0/9] arm64: Stolen time support To: Steven Price References: <20190802145017.42543-1-steven.price@arm.com> CC: , , Catalin Marinas , , Russell King , , Marc Zyngier , Paolo Bonzini , Will Deacon , , , , "wanghaibin.wang@huawei.com >> Wanghaibin (D)" From: zhukeqian Message-ID: <1611996b-1ec1-dee7-ed61-b3b9df23f138@huawei.com> Date: Tue, 21 Jul 2020 11:26:30 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20190802145017.42543-1-steven.price@arm.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.187.22] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Steven, On 2019/8/2 22:50, Steven Price wrote: > This series add support for paravirtualized time for arm64 guests and > KVM hosts following the specification in Arm's document DEN 0057A: > > https://developer.arm.com/docs/den0057/a > > It implements support for stolen time, allowing the guest to > identify time when it is forcibly not executing. > > It doesn't implement support for Live Physical Time (LPT) as there are > some concerns about the overheads and approach in the above Do you plan to pick up LPT support? As there is demand of cross-frequency migration (from older platform to newer platform). I am not clear about the overheads and approach problem here, could you please give some detail information? Maybe we can work together to solve these concerns. :-) Thanks, Keqian > specification, and I expect an updated version of the specification to > be released soon with just the stolen time parts. > > I previously posted a series including LPT (as well as stolen time): > https://lore.kernel.org/kvmarm/20181212150226.38051-1-steven.price@arm.com/ > > Patches 2, 5, 7 and 8 are cleanup patches and could be taken separately. > > Christoffer Dall (1): > KVM: arm/arm64: Factor out hypercall handling from PSCI code > > Steven Price (8): > KVM: arm64: Document PV-time interface > KVM: arm64: Implement PV_FEATURES call > KVM: arm64: Support stolen time reporting via shared structure > KVM: Allow kvm_device_ops to be const > KVM: arm64: Provide a PV_TIME device to user space > arm/arm64: Provide a wrapper for SMCCC 1.1 calls > arm/arm64: Make use of the SMCCC 1.1 wrapper > arm64: Retrieve stolen time as paravirtualized guest > > Documentation/virtual/kvm/arm/pvtime.txt | 107 +++++++++++++ > arch/arm/kvm/Makefile | 2 +- > arch/arm/kvm/handle_exit.c | 2 +- > arch/arm/mm/proc-v7-bugs.c | 13 +- > arch/arm64/include/asm/kvm_host.h | 13 +- > arch/arm64/include/asm/kvm_mmu.h | 2 + > arch/arm64/include/asm/pvclock-abi.h | 20 +++ > arch/arm64/include/uapi/asm/kvm.h | 6 + > arch/arm64/kernel/Makefile | 1 + > arch/arm64/kernel/cpu_errata.c | 80 ++++------ > arch/arm64/kernel/kvm.c | 155 ++++++++++++++++++ > arch/arm64/kvm/Kconfig | 1 + > arch/arm64/kvm/Makefile | 2 + > arch/arm64/kvm/handle_exit.c | 4 +- > include/kvm/arm_hypercalls.h | 44 ++++++ > include/kvm/arm_psci.h | 2 +- > include/linux/arm-smccc.h | 58 +++++++ > include/linux/cpuhotplug.h | 1 + > include/linux/kvm_host.h | 4 +- > include/linux/kvm_types.h | 2 + > include/uapi/linux/kvm.h | 2 + > virt/kvm/arm/arm.c | 18 +++ > virt/kvm/arm/hypercalls.c | 138 ++++++++++++++++ > virt/kvm/arm/mmu.c | 44 ++++++ > virt/kvm/arm/psci.c | 84 +--------- > virt/kvm/arm/pvtime.c | 190 +++++++++++++++++++++++ > virt/kvm/kvm_main.c | 6 +- > 27 files changed, 848 insertions(+), 153 deletions(-) > create mode 100644 Documentation/virtual/kvm/arm/pvtime.txt > create mode 100644 arch/arm64/include/asm/pvclock-abi.h > create mode 100644 arch/arm64/kernel/kvm.c > create mode 100644 include/kvm/arm_hypercalls.h > create mode 100644 virt/kvm/arm/hypercalls.c > create mode 100644 virt/kvm/arm/pvtime.c >