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 76701C001DE for ; Mon, 31 Jul 2023 16:04:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1BACB6B00DB; Mon, 31 Jul 2023 12:04:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1922628006D; Mon, 31 Jul 2023 12:04:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 05AD66B00DD; Mon, 31 Jul 2023 12:04:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id EB61A6B00DB for ; Mon, 31 Jul 2023 12:04:17 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4A59F1409EC for ; Mon, 31 Jul 2023 16:04:17 +0000 (UTC) X-FDA: 81072378954.26.B188148 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf09.hostedemail.com (Postfix) with ESMTP id B538A140044 for ; Mon, 31 Jul 2023 16:02:04 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FjFPNpwR; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf09.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690819324; 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=fle66BdI0bujJwN3hEl5LFW6syixCYXJ4Ddx7BkUR20=; b=1txnBwa78w1dS9QYWIbhx4al5ecaN1aixLJ54xEonwLk9TV9AZ2tUuONjjpAQePnYIoFMW VkfymlLhmYYgLDvia9wvvrVEQ5D4BBm5S8Eccgb7JtluJ2uZ747vSgkVOF2V8okvAfHl6M BUhCQHEwbLyZsBLXoM+tlTJKFQjEw38= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FjFPNpwR; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf09.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690819324; a=rsa-sha256; cv=none; b=AFtn49q8/tU6quTf+LfP5c3qC3Mem5F3+VYQbHOqT7fEiAGaSeHVvozEuQBLET65L4ePRt wgeAeJHX/8ly++0SXtLGGsDTyE3TW0x7oCDHK2tP+o7E6A853eJKGjSyRBIczvqA+lhvSF FIuUQ0KKhlcisNt3wSPniB/5n7D7e+A= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690819323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fle66BdI0bujJwN3hEl5LFW6syixCYXJ4Ddx7BkUR20=; b=FjFPNpwRpeoDQHDYVCo2wxwZ/i1i45o3vcMdOq4Lq6rDqoKS9LMiJ5DYiDIToL47cOLYDZ OIUOMAzVw7313cYiLqoK+cPsnnm9FfiqSP7USST2/Xv0vVXkMU8Cb2ULd4a9G0L+IuwXhY UcQroxULKyTMubScLi7XbO471iYGnDo= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-401-ysJhR7gfO9SN_528Nvyl8g-1; Mon, 31 Jul 2023 12:02:01 -0400 X-MC-Unique: ysJhR7gfO9SN_528Nvyl8g-1 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-76ca010274dso35361285a.0 for ; Mon, 31 Jul 2023 09:02:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690819321; x=1691424121; 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=fle66BdI0bujJwN3hEl5LFW6syixCYXJ4Ddx7BkUR20=; b=IBB4toB9R4Zua1x++GgFptH7rtIaOc6WKvq0qruzNjzmVrINlu1B7EcECgYyc3XvzM vQCpveKqGIqsVTp/fNmESF86xBN4r6kM7X3+N1FVVztrWsebWMvTjJnHK0f6xXNrGGVv 9GBpaAJUNJDcW1YZDaSFXh8oLJhuHiVAatAg3P3gXkBx91yRhQhxvcwk6Of3UFGtvEO8 NLGs2vs/Pxvbmz4XO4sq8qe9MjeFywG5DNSmZK+q/4FZ0M0+A2l6t2MGUWZ8EpEQzuqG kaAgpQqYlM8q+EA3jz0qGslud2NbiH6gbqxGdOgWo8y/6NIfb3N8ywLXZw1j25Y7gRhR x/6g== X-Gm-Message-State: ABy/qLbt38vumwIiKRvhPqCeHN0J72fsq7NIo+GBrS4YfhAoqGkCKQe3 8c5sv9W+BWkpLX/fOMfZGKUAHeKfEF0yU7bd8HXIivy03EJD7KFMCwPbXXQQB+TI8rTtOT6B00v zYOrfpGMRmi8= X-Received: by 2002:a05:620a:bd5:b0:76a:f689:dff2 with SMTP id s21-20020a05620a0bd500b0076af689dff2mr8009931qki.7.1690819321168; Mon, 31 Jul 2023 09:02:01 -0700 (PDT) X-Google-Smtp-Source: APBJJlHmDU3Q7e8CyjbeT0B4NsylAZwm9By0RZ0H8bJsJ1dfXWvcoMjORe9NZsY46jRpEjqXmqkdAw== X-Received: by 2002:a05:620a:bd5:b0:76a:f689:dff2 with SMTP id s21-20020a05620a0bd500b0076af689dff2mr8009895qki.7.1690819320764; Mon, 31 Jul 2023 09:02:00 -0700 (PDT) Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com. [99.254.144.39]) by smtp.gmail.com with ESMTPSA id j27-20020a05620a001b00b00767d05117fesm3391474qki.36.2023.07.31.09.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jul 2023 09:02:00 -0700 (PDT) Date: Mon, 31 Jul 2023 12:01:58 -0400 From: Peter Xu To: Jason Gunthorpe Cc: David Hildenbrand , Linus Torvalds , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Andrew Morton , liubo , Matthew Wilcox , Hugh Dickins , John Hubbard Subject: Re: [PATCH v1 0/4] smaps / mm/gup: fix gup_can_follow_protnone fallout Message-ID: References: <20230727212845.135673-1-david@redhat.com> <69a5f457-63b6-2d4f-e5c0-4b3de1e6c9f1@redhat.com> <22262495-c92c-20fa-dddf-eee4ce635b12@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspam-User: X-Stat-Signature: 11qg4imxrawnyxbyfdxunocbr6xwkd4a X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: B538A140044 X-HE-Tag: 1690819324-366508 X-HE-Meta: U2FsdGVkX182a1TLfySmfD++LM2xwYJTk+R4tynNZV1PajQmh3DD1202XVaBhgzxvVttm16qEmUbi4kQd/hJRDhRGF2daaALAHHArgIBa4iJSsngoEtrLlhNUkZvxhWkuDdJgDsN6aTHQKkEbycE2Ycy3KMiGR+g9zw+HH5E0vBAa8ZPMzc/SpJZWIvHvpQlHO+GL4/QCNXnyvVzutVZZSdC92G3Ji3Z4ajs/mJghBbRvKpX7ZCgVYpVKCdQX7XRPwo33Vdt4b88PSo+BG6Hyly4AfFH8NssycEOeS6wSBHmNr2tSsTXHhFmyaIrARoZzbA5Z9fifPya6vYHRHLcTbbcuEWFuxCSBE78bK5upkZdJLGpEPlZ95U7m3SREDQHyedxzOXfREb3KndoTojp8zy5gH2+EEgXGA34GwiXSBoGX1fPRd6n6eWff+7s8mU596NT5LHddq1ehrr4I8qg3PqotwdXXKQuA9kq/d9eluQfKHNj9TrxVq0rpl6pxNROR7nquyEmrX3ne/KvteiqhrJZkUgR6CBhvbiXOxBSg+H8WbTziwnrCz9d2UqjV7yLZ8hcH4UwhLykaL+x3lPXYrATw3iqBsYa3/I4E/E0l6HwAxnZ0cmUnC0Fxr9+DscliWaJFy6xoFaJSsZJQxvF+dgVHLSGlxdagYY0NhvyyF4yTM3xe3I0UThV9NzDTgSKsY7Q7gjuW3hoFUGuRtJhmGDUXb8YpYYcwZk70erP0TljiXmemFgmggz1PAr1XOBGSopYuAf1pP5IlguQjxjVSsBjxZX/w2806g+lvGdUtx0+2dbKHy5o/QFpj0c3vgz0A16AcoOQHkpWorAB6nLdA4u0buDJKyJkEJJLxp709VmGcg9DLXGZcAGhsqSgfZ7IShSCmBnkJTpsqyU96SBfHAnusYPza83NS2fGbYQIjXCOROVt23vIpmJOCtONuEpaAv83b8DdhexSemjNR1Y 0YJ3JYSB o+BFJLqUMrJWEHoniAV4kVbErI645ZJebmQJ2QsCUBZaO69DTWS0sHDI/WXshj1Sl27OZLO0raU9Nu7wjis/yDbdPQkDo6gN5W6kCodCw7nLel6I+d9zZ8WXmAH4U5df0aamtLwkEpRtccFZqEeDeclIvDk9uH//ZnVe8uQqYztVi7TuZ1I+NHVkQRxj9A6J34dhHge3lO6JfUCnwTJK6gQh0tWba96EcQ6bdrJOjt/BKcFoEvLhLSlgEIqgpM2ygRWf0om0ntKIjrciNh2g192/G7smqYzNuD6FjyYkCwLc1Qa7mw8l2S2lac8hvomn1gkrA/rGCv0hGVl3oIZFhKqsyhNKD4j53XQ0+Ec1arLG6TtHyBitk+gN6p7QP3xXMZYFMxbJFBdGD7bpx8UQ3L9uOKu8JwDJcHUHL X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jul 28, 2023 at 07:14:26PM -0300, Jason Gunthorpe wrote: > On Fri, Jul 28, 2023 at 11:31:49PM +0200, David Hildenbrand wrote: > > * vfio triggers FOLL_PIN|FOLL_LONGTERM from a random QEMU thread. > > Where should we migrate that page to? Would it actually be counter- > > productive to migrate it to the NUMA node of the setup thread? The > > longterm pin will turn the page unmovable, yes, but where to migrate > > it to? > > For VFIO & KVM you actively don't get any kind of numa balancing or > awareness. In this case qemu should probably strive to put the memory > on the numa node of the majorty of CPUs early on because it doesn't > get another shot at it. > > In other cases it depends quite alot. Eg DPDK might want its VFIO > buffers to NUMA'd to the node that is close to the device, not the > CPU. Or vice versa. There is alot of micro sensitivity here at high > data rates. I think people today manually tune this by deliberately > allocating the memory to specific numas and then GUP should just leave > it alone. Right. For the other O_DIRECT example - it seems to be a more generic issue to "whether we should rely on the follow up accessor to decide the target node of numa balancing". To me at least for KVM's use case I'd still expect the major paths to trigger that is still when guest accessing a page from vcpu threads, that's still the GUP paths. Thanks, -- Peter Xu