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=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no 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 B1A3EC2B9F4 for ; Thu, 17 Jun 2021 12:16:27 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3D37B610A2 for ; Thu, 17 Jun 2021 12:16:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D37B610A2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ltqwb-0008Mw-9f for qemu-devel@archiver.kernel.org; Thu, 17 Jun 2021 08:16:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltqtu-0006Pz-Cs for qemu-devel@nongnu.org; Thu, 17 Jun 2021 08:13:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:53906) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltqtm-0005St-5y for qemu-devel@nongnu.org; Thu, 17 Jun 2021 08:13:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C580D610EA; Thu, 17 Jun 2021 12:13:24 +0000 (UTC) Date: Thu, 17 Jun 2021 13:13:22 +0100 From: Catalin Marinas To: Steven Price Subject: Re: [PATCH v15 0/7] MTE support for KVM guest Message-ID: <20210617121322.GC6314@arm.com> References: <20210614090525.4338-1-steven.price@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210614090525.4338-1-steven.price@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Received-SPF: pass client-ip=198.145.29.99; envelope-from=cmarinas@kernel.org; helo=mail.kernel.org X-Spam_score_int: -66 X-Spam_score: -6.7 X-Spam_bar: ------ X-Spam_report: (-6.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Peter Maydell , "Dr. David Alan Gilbert" , Andrew Jones , Haibo Xu , Suzuki K Poulose , qemu-devel@nongnu.org, Marc Zyngier , Juan Quintela , Richard Henderson , linux-kernel@vger.kernel.org, Dave Martin , James Morse , linux-arm-kernel@lists.infradead.org, Thomas Gleixner , Will Deacon , kvmarm@lists.cs.columbia.edu, Julien Thierry Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Mon, Jun 14, 2021 at 10:05:18AM +0100, Steven Price wrote: > I realise there are still open questions[1] around the performance of > this series (the 'big lock', tag_sync_lock, introduced in the first > patch). But there should be no impact on non-MTE workloads and until we > get real MTE-enabled hardware it's hard to know whether there is a need > for something more sophisticated or not. Peter Collingbourne's patch[3] > to clear the tags at page allocation time should hide more of the impact > for non-VM cases. So the remaining concern is around VM startup which > could be effectively serialised through the lock. [...] > [1]: https://lore.kernel.org/r/874ke7z3ng.wl-maz%40kernel.org Start-up, VM resume, migration could be affected by this lock, basically any time you fault a page into the guest. As you said, for now it should be fine as long as the hardware doesn't support MTE or qemu doesn't enable MTE in guests. But the problem won't go away. We have a partial solution with an array of locks to mitigate against this but there's still the question of whether we should actually bother for something that's unlikely to happen in practice: MAP_SHARED memory in guests (ignoring the stage 1 case for now). If MAP_SHARED in guests is not a realistic use-case, we have the vma in user_mem_abort() and if the VM_SHARED flag is set together with MTE enabled for guests, we can reject the mapping. We can discuss the stage 1 case separately from this series. -- Catalin