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 BA70FE65D29 for ; Fri, 22 Nov 2024 06:58:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E3998D0008; Fri, 22 Nov 2024 01:58:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 295A58D0007; Fri, 22 Nov 2024 01:58:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10F848D0008; Fri, 22 Nov 2024 01:58:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DFA6E8D0007 for ; Fri, 22 Nov 2024 01:58:32 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 83064A1364 for ; Fri, 22 Nov 2024 06:58:32 +0000 (UTC) X-FDA: 82812826110.24.53C7219 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf14.hostedemail.com (Postfix) with ESMTP id AD75B100009 for ; Fri, 22 Nov 2024 06:57:30 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=WTOjJ52S; spf=pass (imf14.hostedemail.com: domain of airlied@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=airlied@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732258558; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=X70b1Cts8T+9Tkzz2nbhOTjSUi64wRbRrogTOvjnGWs=; b=p9Db1f22wmcSVxg+C/6sS2WInm/K4TQO5edmPF0AFGfPovpxzY6OMq/QzcJYPJaHFfQhHx pllvj47j/buQoIg9Wc3kFZja3+iA3ScaoE/C9cMvI5EjjJdVBAWXF2GZx8hn6bGUyynJnL mWx2rJG/oQ4Ti0/RUlpKN3+PJokxM48= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732258558; a=rsa-sha256; cv=none; b=QoYbuOIa2FHbu4FM9aXeQpRAYeiYXmNZ917MeffDdffl4DipggdWKHBFCBR9vHuZvqXf9t 94+VyGrUubMxeubaBedHwtSzZl1MUzdMhY4lPuwgGO1q6fqnXtblkAxSdfrt8oiQpWBMn6 JtBBXgO53Qb4X6Uvc41zaISIGFOyYnw= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=WTOjJ52S; spf=pass (imf14.hostedemail.com: domain of airlied@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=airlied@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732258709; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=X70b1Cts8T+9Tkzz2nbhOTjSUi64wRbRrogTOvjnGWs=; b=WTOjJ52SCxLQN5LIfa5gZqNbl6gShM78zRP3AwWQMK56bFbQywLGJz+MCQUM/DqMcU9lN+ EGYy1mQBxQjsVJqWcuL4lvIBJPz9W2ZGzYNKDpNhs/uVqXxArEXLVPqFUEhsSp35F7rWr8 40aSOLcV/R3hbYD43Zuo616u0buJPVg= Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-400-GH_-6Y0rNpKVpX_nlZoC8Q-1; Fri, 22 Nov 2024 01:58:26 -0500 X-MC-Unique: GH_-6Y0rNpKVpX_nlZoC8Q-1 X-Mimecast-MFC-AGG-ID: GH_-6Y0rNpKVpX_nlZoC8Q Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-724e7c48678so82782b3a.1 for ; Thu, 21 Nov 2024 22:58:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732258705; x=1732863505; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X70b1Cts8T+9Tkzz2nbhOTjSUi64wRbRrogTOvjnGWs=; b=FThVyx0NJAFvPX+OMOSDLYZRd4LXfGPys/TxkbMKG28Vd7mQ+YASB+7fkZolGitdbr NXCItlK5XmoU4OWNYoux6aPNkTMPGqyVT4sV9kJt1aR1D3YksX3tWFh/98nM/mt+Yoo4 qcLA0c8SduCyRyyxWcLsM2Rfe9QgTnweNOnb4HWC4htapxqCEnggK6C7OW7qCV07ZImL zUxzib1EbmVmvYz2rifynPd67r+z8wauoNhokKbHzDursTQo7h7pzKPJ5+Rdo/VU/fWK 3PQk2xQLE9tv0dLeb8jz03XgylUxfWJmIysJX3i+Tpct91F0a99QOP9DpH3IoGKBJMNi 1ruA== X-Forwarded-Encrypted: i=1; AJvYcCVK4MSNTEPvlwt2eW/OtfnJ1+2vjBuI8WCNeS3g4QLl3c+sVcqKmMT4/xT8RtPmfOBy/t7DtzBLkQ==@kvack.org X-Gm-Message-State: AOJu0YynOE42Lv0haEKQJuFmvHCghCnX9gPjG7MxbPJEKZ+eKuJJDAIj +pdGncJVxzDMLtWrZvBfs14pfteI4HiwNQP/mTsJf9gDR08DkrPB6T/YRxOj/LAmVwCncmgNvix 89OxwX6HChGi7FTLn7sPBq+qScd7FlgPEw1QR70T44udFCPa/fgKSEEhhNg1lcW7KktP1xdXAST J9KxR3QMiq6HNHWqslPcKdpAY= X-Gm-Gg: ASbGncv2gzEh6ZmFOHi0RQKkgA4hrPGma0Ls0st+ZAE+OBFlcjSa9Yst/un2ZTP7WQ4 5tw04UPu2InuGK05nCfDBWWJXb/cjOw== X-Received: by 2002:a05:6a00:2d10:b0:724:d926:fbeb with SMTP id d2e1a72fcca58-724de451952mr3272752b3a.0.1732258704964; Thu, 21 Nov 2024 22:58:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IGPSEnpKvYksWAF4QRL5GVsUN0ZdXX2EoeX3KyT5hPH1bMfu/fYU5LDulmsHaln8LmVAnqI3n8oKfP6YAaw3rQ= X-Received: by 2002:a05:6a00:2d10:b0:724:d926:fbeb with SMTP id d2e1a72fcca58-724de451952mr3272712b3a.0.1732258704517; Thu, 21 Nov 2024 22:58:24 -0800 (PST) MIME-Version: 1.0 References: <98a46b27-c4bb-4540-8f75-f176c3f2fae1@gmail.com> <650846e4-b6a0-472d-a14e-4357d20faadb@gmail.com> <0195fb77-c55a-40d5-8fe2-5844158f4f63@gmail.com> In-Reply-To: From: David Airlie Date: Fri, 22 Nov 2024 16:58:13 +1000 Message-ID: Subject: Re: [PATCH v3 0/2] rust: page: Add support for existing struct page mappings To: Matthew Wilcox Cc: Abdiel Janulgue , Boqun Feng , Alice Ryhl , rust-for-linux@vger.kernel.org, Miguel Ojeda , Alex Gaynor , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , Wedson Almeida Filho , Valentin Obst , open list , Andrew Morton , "open list:MEMORY MANAGEMENT" , Kairui Song X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: lqgNKMUUrsftj8gPQm3txIi2m_WcDpSp9r8dLg1YFFM_1732258705 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: AD75B100009 X-Stat-Signature: zzxjp8353z8z35tuhrrcups7zmig5mbc X-HE-Tag: 1732258650-998954 X-HE-Meta: U2FsdGVkX19ALPxBJ9cITta9FarnVFW9xz0V54D2ojsbsOXu0GNufDGGX6/J3SAxJX0D8q+UwGN7t1bd4xpaG6EUb5B/Xw9diissLzo7YVXiH4mHyUBXajY/jDj5QPqNoawuF7/SuiBaNCsCqejZwEwA34zhtwaChxusmlhlu0sV0UoksBir50ithCVo+DLOHHjOp2IPqV2rjk6BCyf2GrhjZWOnaUk77isOMh+aScQg7i52klUd2R5FULEloW5DiDGwsZbOUh7CGJk4Qr0I/BpCe3+dzWjCU6jp61pbn+mwjFz+Nc2eW7jeCPxepH5u9uo6rGLtYbPqJDEoZCLVAiBdUguSYqDlDIqsemLwDiqRRcH9nI7OAQY0/qIv3F5YM9tG8BG/z+mWeCo1j0TaYOvfRXRzgO2Q92dvDQJPg/ZoHtyoEIEXCWYsfPaeLA/hzg1KWj/mIm+l54lGNdOi0Fe7cXcgT2t8al2a7wlDuALrzyEsucekepzG0o41lsB6DFd4Qt6D2k/SodLEVdbpQ3L4YA2nb0+D5rWPn+KpVc9ixb1Mvp+FotrRo0ZQXBGVXyAn/A+lwC2MtmQiZQg95M2pdxvjItWh6JIN8GWNNDA3EGkKg7BZS4Go7qd2eCv6NLMT3D6BghZPwU4F1FppNZe+vMR2CVILH0LgAB2XM0LtjVXx/U5efJtfvHmmMPWg3wx/C1mZShxKwkY65YQzQCaP/gj99LEp0/T0F3I1YIt/QT2BWBU61+MErjSbLguoGsHmg9ehShDh5Y5rozxSMWuAo82BNMi506xnqwPW7mYf5UFs8irbxNhiPmfbiZz4FaRaxWF9KxEhOW7Hym5oqAZKweD3TzJWAM7xQZg+99R0vZHZ9veSE4AAjajWM/tCtKk/zEBVQzPkU+1gFbdK9Kn3/rUQCjtUm3fOky93AXb1Nxr8GUAWSJ5Ylb6aSl+rm6eCE5mgGKlNSK/qwgB hND3BOxJ Kl7HNNnVI9IZugf/ORk9l4yoYk97Irkw4jXi+TGBAHNtH8YDjtAKFgEUhg71v1foiHaztImPincJqA8asRO/OGckDH6SGuqNJ4XU8EJuJ3EerGfNDIN0wWKC92YPCQUOWR8SvK/NVokOYiUOKzo+50pvKPVu9+GbLsCLY9l1d1a5Xv224xvvKF/kJfpDW2zET5Po4yAun1zPbdbM5v7gn9/GEE2ihKOjfGtF6dq3tR5y8TDHyRaBZd214il0SZkjWIZG77GMqmfwniU5eTmJ3ubxhuixJBguX+EMYNjYtiYn0zlg+vDYNJRLkI84ppkAAuPS9baQ3IR6ncb2t1Mzwusz4rwNwNOgVlA7CUmHLPcEGaG4sK7Msm2JC0x4OaqqErJvrHsKt3JTfH6EmRBNyLa/k/Uy7CPgBwuwjeEsg/S/ifhQDDzyWh/guOg== 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: List-Subscribe: List-Unsubscribe: On Fri, Nov 22, 2024 at 11:24=E2=80=AFAM Matthew Wilcox wrote: > > On Fri, Nov 22, 2024 at 01:18:28AM +0200, Abdiel Janulgue wrote: > > We need an abstraction of struct page to construct a scatterlist which = is > > needed for an internal firmware structure. Now most of pages needed the= re > > come from vmalloc_to_page() which, unlike the current rust Page abstrac= tion, > > not allocated on demand but is an existing mapping. > > > > Hope that clears things up! > > That's very helpful! So the lifetime of the scatterllist must not > outlive the lifetime of the vmalloc allocation. That means you can call > kmap_local_page() on the page in the scatterlist without worrying about > the refcount of the struct page. BTW, you can't call page_address() on > vmalloc memory because vmalloc can allocate pages from HIGHMEM. Unless > you're willing to disable support for 32-bit systems with highmem ... > https://elixir.bootlin.com/linux/v6.11.5/source/drivers/gpu/drm/nouveau/nvk= m/core/firmware.c#L266 This is the C code we want to rustify. Dave.