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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64794C4332F for ; Mon, 5 Dec 2022 18:23:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DAA948E0005; Mon, 5 Dec 2022 13:23:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D5A748E0001; Mon, 5 Dec 2022 13:23:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C222A8E0005; Mon, 5 Dec 2022 13:23:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B01F38E0001 for ; Mon, 5 Dec 2022 13:23:17 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 6FC6E140AAC for ; Mon, 5 Dec 2022 18:23:17 +0000 (UTC) X-FDA: 80209074834.15.8F420BC Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf12.hostedemail.com (Postfix) with ESMTP id EF76540005 for ; Mon, 5 Dec 2022 18:23:15 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=OqMx52fM; spf=pass (imf12.hostedemail.com: domain of seanjc@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670264596; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=wrG4WesnEhk5NLSq/YG3nhMzwwU7RaEXC9segHeDYJk=; b=doOHI1NkCnm+hjwdXkiemhuGkjn3CjTDMgnTLFh7jW1cwcLz2OGk0tnEDI9kxeNFqlOHkx h7k/KLicCtFVeNwfNTNhDXm3io6HQSiNGDX3GWI7WgfHM56jx4x5ndWFnYPXX8RUrMHtO4 Oz3OeunfRo2DoWgt+NOHjOwwKna/BGM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=OqMx52fM; spf=pass (imf12.hostedemail.com: domain of seanjc@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670264596; a=rsa-sha256; cv=none; b=DB7/30T6Th8okq9SxhC54bkICzenweELh7Z7sHyXV3ODQ+C3wfq5kql+SHJNdjbE9fLXVc bvXEnLljXO/uL3r/was5f6n1itKd5vonRliquJ6Ua+7osbShlfCqwGkgUqqJqEwW1qQtp8 wfiWXFhBSB4XSib4shHA+jlNM/iHVbA= Received: by mail-pl1-f172.google.com with SMTP id a9so11609728pld.7 for ; Mon, 05 Dec 2022 10:23:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=wrG4WesnEhk5NLSq/YG3nhMzwwU7RaEXC9segHeDYJk=; b=OqMx52fMzis0wzRBGQKZSzSb3RlhV4y4sy4W7p/1W9GmNOf2pm9J+IGZbpD3Jlgw2e xd9iYfzm4xCxj3fw2IkRihO46FVYF1UMPfEoUXl6m+woYA0e0bnU6aW5PHwfs6OT7fQ7 +7/U5XdjFccF7xEVN4ezPuqIqyrq1KIw71sAY8C5W1gXD+iJlT4SvPksyYQPmNzOVTkT FljZ+7EMIQGmdshWIs/8UHoedqGAti+FmBBSpaFflk6WGXooVdOWl49m2QVvnmKxfLVK l6L61r3MEiNIU2G7kBgup+QlvPYlH+nvpPu+Zuf/KYdcyQgKGRQVVsMJKq6SwyQ/giAN po7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wrG4WesnEhk5NLSq/YG3nhMzwwU7RaEXC9segHeDYJk=; b=65FY0JW7thlrcJaeSkryUuoAzU2UnbfrhRkuktkKkABWnpjfRLb2VBft51mbBePGpy PlA60sF2E9WI1UdNuCwDGi2LldQEXJZptHQ9UxfNQR37njBRLLm/gp7kZH7SxAdT5/2s pdDb16auhAyvqQroeGz/q1BESPuL44E5QDunTOa6DB895RlnQEQP/QhacA1PjfwjrunZ uoroufnL6WZEitsz/jvmOkejKeLGOxvaeesv8WRxwN7KSreOoYm4ZRtsLbcuf/QTIlYs FWwA8DLO+HXv7ui+YHKQz9kOqBjb/mf8yh1Fx3uWrYpqidGX9UwpuHHat/CpDTPixVJq a5LA== X-Gm-Message-State: ANoB5plSUh3nj7y4+SYu8PWGQRCm21jqkgvmLahlMwFVbWxABOeGiFB4 +Me/Kb+CyVT4g5kkCIxnImALhw== X-Google-Smtp-Source: AA0mqf7klLfuhXgPALOW9jQYhcN6mrjnWU2ntGY2DimbKdA5/feviP88dW+9Ml8rQYDv59cM3adsyA== X-Received: by 2002:a17:903:31d5:b0:188:5581:c8de with SMTP id v21-20020a17090331d500b001885581c8demr66215140ple.140.1670264594925; Mon, 05 Dec 2022 10:23:14 -0800 (PST) Received: from google.com (7.104.168.34.bc.googleusercontent.com. [34.168.104.7]) by smtp.gmail.com with ESMTPSA id f139-20020a623891000000b005746c3b2445sm10169977pfa.151.2022.12.05.10.23.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Dec 2022 10:23:14 -0800 (PST) Date: Mon, 5 Dec 2022 18:23:10 +0000 From: Sean Christopherson To: David Matlack Cc: Peter Xu , James Houghton , Andrea Arcangeli , Paolo Bonzini , Axel Rasmussen , Linux MM , kvm , chao.p.peng@linux.intel.com Subject: Re: [RFC] Improving userfaultfd scalability for live migration Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: EF76540005 X-Stat-Signature: md5rcas46fh33kf7m7hiujeu7rsiaywg X-Rspam-User: X-Spamd-Result: default: False [2.05 / 9.00]; SORBS_IRL_BL(3.00)[209.85.214.172:from]; BAYES_HAM(-1.05)[80.42%]; MIME_GOOD(-0.10)[text/plain]; RCVD_NO_TLS_LAST(0.10)[]; BAD_REP_POLICIES(0.10)[]; TO_DN_SOME(0.00)[]; RCPT_COUNT_SEVEN(0.00)[9]; DMARC_POLICY_ALLOW(0.00)[google.com,reject]; DKIM_TRACE(0.00)[google.com:+]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; R_SPF_ALLOW(0.00)[+ip4:209.85.128.0/17]; RCVD_COUNT_THREE(0.00)[3]; R_DKIM_ALLOW(0.00)[google.com:s=20210112]; ARC_SIGNED(0.00)[hostedemail.com:s=arc-20220608:i=1]; PREVIOUSLY_DELIVERED(0.00)[linux-mm@kvack.org]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Server: rspam08 X-HE-Tag: 1670264595-285522 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002468, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Dec 05, 2022, David Matlack wrote: > On Mon, Dec 5, 2022 at 9:31 AM David Matlack wrote: > > > > On Mon, Dec 5, 2022 at 7:30 AM Peter Xu wrote: > > > > > > On Sat, Dec 03, 2022 at 01:03:38AM +0000, Sean Christopherson wrote: > > > > On Thu, Dec 01, 2022, James Houghton wrote: > > > > > == Problems == > > > > > The major problem here is that this only solves the scalability > > > > > problem for the KVM demand paging case. Other userfaultfd users, if > > > > > they have scalability problems, will need to find another approach. > > > > > > > > It may not fully solve KVM's problem either. E.g. if the VM is running nested > > > > VMs, many (most?) of the user faults could be triggered by FNAME(walk_addr_generic) > > > > via __get_user() when walking L1's EPT tables. > > > > We could always modify FNAME(walk_addr_generic) to return out to user > > space in the same way if that is indeed another bottleneck. > > Scratch that, walk_addr_generic ultimately has a ton of callers > throughout KVM, so it would be difficult to plumb the error handling > out to userspace. It would be easy enough to plumb a "fast-only" flag into walk_addr_generic().