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 DAB07C02192 for ; Mon, 3 Feb 2025 18:53:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7B9BB6B0089; Mon, 3 Feb 2025 13:53:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7437E6B008A; Mon, 3 Feb 2025 13:53:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E3306B008C; Mon, 3 Feb 2025 13:53:48 -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 3C1066B0089 for ; Mon, 3 Feb 2025 13:53:48 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id BE6051603FF for ; Mon, 3 Feb 2025 18:53:47 +0000 (UTC) X-FDA: 83079532494.30.5AD8E5F Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf02.hostedemail.com (Postfix) with ESMTP id D693C80009 for ; Mon, 3 Feb 2025 18:53:45 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=F63zUc9q; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738608825; a=rsa-sha256; cv=none; b=sh2j+13xkDI1Sbz1843OQccIpqp4iifqsBQnC3lM1evEUFUMt7q7mD+wWCD4TInv8IIprS 1b3HJENwSKQi2VPpA0FjVgdM1H08tw0pJst1S2Hw4xD37TWCwH+5L6MYH9e17Hn+aS96aL I9xmL+n9kokoIC7slDR6+CL5dCOj3/w= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=F63zUc9q; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738608825; 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=V45orYruD99ZGljVryaLEniUB/JJelA3I5hj+yh3ILs=; b=wxlxXH48s8qhWi8xz26GjwRC/7ftlN0/whAtJqjqlNF9WZkgZ6FP1W43obrmfXfHuZAmNh XMt7ny8Vh0HTwjbDrOa7kKTj64ClYpsB3h1EXCjQ0jJgsSbFYjl32qKxNBocqP74Bs5BRg 8kTrgQJjr8V+7YAx4PXGhu+UBQIUiVo= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5d3d143376dso5977885a12.3 for ; Mon, 03 Feb 2025 10:53:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738608824; x=1739213624; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=V45orYruD99ZGljVryaLEniUB/JJelA3I5hj+yh3ILs=; b=F63zUc9qx/1QBOtjIZzDpHUfRwpFfIC/ghcKZo3QitTSTKx7/pL4ae5tfuCVxrfXyY Uc/UZbCVa17i/gg0uCyFrZTWy18CKYqdNTN3gc1oBVGMN60LU48Tq8COJJgpcx0j0p/0 1BmQ0QKciiYiFlnskhPD0U1fdztgBRvVyCULvaadEtKjfhqY/5cKYShLDZBa2eMdOIEj m2/fMEkAfTPn+g8Bj61a168LWG0rBC+b8AkqXT+dURfHWELo5t0Vq8LUGPMhlfs7JMF0 rN+oyVh22ndJrq18J2xgYE0IP5GX3R5Q+K/oJYR65Bwx10Bbar/0PwVXBgOwgh5HQYbb qzrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738608824; x=1739213624; 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=V45orYruD99ZGljVryaLEniUB/JJelA3I5hj+yh3ILs=; b=cARqwlEx+yoRpq0/ZZadepoFdvVX1vbGII3cO9ypy+/MGrhyHFkLlgPgUjQOHi38EW koLyt5ht5csXXMY2VnhkW31A0i8v0cHzuEsw3oAts1fBA594HXEIaz+75MBVytZZy71a FTpDS4gGT+shcMw31vGzGpq9xu8sisFrD655+JXEDD4iq+8gBjF+MHrlUno7QmotXwDK bwu6mMXikidDnniRj5DIT1xqCVcCljVPTTobxioJV1lcd0fCwf83AzlJqrKvVU6NY4mN V1UbvFYUX4F1/iRtnIix4dY2dmDDDbt5O6+nKyOqdF2q6UwuJhUvyeN1G9+z/Uj7dU77 2fpA== X-Gm-Message-State: AOJu0YypCROJJCzNNy8+Q4AmgCFaIg0MJRz+VwEPcK079C/nwB+ZAefv +QjUBja/FgOCgQ6NX8bHuwjPeSA/CcPlgHfQiLlBUaOrQ4WzYOK5lr94vPjPe3dPzccdTPV9Y4c tPyaZBDdFkDVisz+OMCUnmYc3ZaI= X-Gm-Gg: ASbGncuFgcCInva6PWIMb38qf7B/aqTa9+cwq25k4UoiLf2E67PzPcJ+kwPV5ClLPOM 21rBMJnEULJ7YviIcSTPPGd1qjIhwWrh9ifWlXmGMSPnlrw0RmeOe2JcF90HMpLO1KxeMF0Y= X-Google-Smtp-Source: AGHT+IF95caPTmXSHw+ZnuWO6ClkTBoAkbTbyf2uJM36DwW9BUz4Zoj9UJGfUtgpjHYOwF5cBpgNY5soNE1vVAgyjS4= X-Received: by 2002:a05:6402:a001:b0:5dc:88dd:38b3 with SMTP id 4fb4d7f45d1cf-5dc88dd3af0mr10516798a12.12.1738608824094; Mon, 03 Feb 2025 10:53:44 -0800 (PST) MIME-Version: 1.0 References: <20250131001806.92349-1-vishal.moola@gmail.com> <20250130164836.1163f66bede77ec4bcc9d4b9@linux-foundation.org> In-Reply-To: <20250130164836.1163f66bede77ec4bcc9d4b9@linux-foundation.org> From: Vishal Moola Date: Mon, 3 Feb 2025 10:53:32 -0800 X-Gm-Features: AWEUYZkvEN5prL1F_CZmkbE0FLPWU535lcJANzU1EwMBGd12_iUZqYIrGpcIM-U Message-ID: Subject: Re: [PATCH 0/2] vmalloc: Introduce vmap_file() To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, hch@infradead.org, urezki@gmail.com, intel-gfx@lists.freedesktop.org, Matthew Wilcox Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D693C80009 X-Stat-Signature: ntmntktnpatjnamcx45wn63u5fsdswem X-Rspam-User: X-HE-Tag: 1738608825-14063 X-HE-Meta: U2FsdGVkX19TSGi9S8Z78jdYoXYJNTQCLGXs/2B8jwrmkrUUYkuxcEQ0h7QcwDRLqLsio2pWF3Ni4n4yiLTn+BK3kz7r8lqX4oD2B0ceMGTquL5Vs624A/QdhbFcU1cspJeYg+7N6hR0EXSOV8ELu7jRzNzsHol7cfJfvJHsyvBXmWlrYguEZPIZ2cq9TTn5fA1Tk5fsrxaJbuDfNBIDPT7pyKaqj29QZdLCNRJ9sbrCzA9+OJhkj2FvOhA0CMx1Q8KOTEBaKuvK32c//8h2X8DhYE1Mj1kQz4qbtgEIdbR3WZAe25T6Cxk2Hi6r8wvVwEusO1pCcqzQ69T0WWVS42rQxU7IiZivzgudtpW+1FZp3BhjNO8hTglNr9GojcZ6fI22BGiD+cBVx2DFlUlvK0S+BZc3MYPv72AhoR9cTr7Ldx5pUtve7RvbagM34uiaEH0srIp0xpYL60zeMgpJfNWS3QxGjjA+nIf5sICifrmFZuiwS5/miXa/FG8xT6jFfkRNiOaIEeOQp3sy9fbBx1rlxBnr1Vz0Ez2Ko1+EQVys5hJhTulbc4SIq1whQrqmbvrQESCIMqiZT+cvykO527jGc2K0fBS+JcK24rkDPhJfdjIDH8aKFaJ2Ojes0ljPJ02e8Pmqk+8E/GQ/lifw836NAw9/vwrLDKeiKhssEyEqsljcQjuNZSRPY0vhWoMTCez44nzVIIULtsNXF2k8p+3E1ncDgzfrfMY7BCuoflFOrGG185wSm6P6UmiXyeL2vsxmeymIHjWtVss4LJahAgiXKgz0B4MjOHGmD/psK1clWG5w4J97ng5pgJyeSic04moDJGx102tdu66QOI/QgUG/GYtBnKU2eudZTg+KPrSaPGkRkR3nSuZ1PQHc93G+XVtDqEwXdO7pcdryAAZ+MLLOJJJZ/FSAYZbkiGkU9XJGLitOXUZmYGF3uKyDT4IdAlQAf6j/YuAxI7lo+kO zTctOy2+ 2u6RBWb0lMTR8Pyw9DaOKKg2l+8qF/HFU2qrx8228QSN+lR9E9m/bfkAbSs2JUDxqGQ7O5ndhM20nS/D4aTLoOd5hV1wrBdPHQRy0VmFSFWax46PRmDvJPz9FW68z1QGOl2xJSOCoJiwIJG/ybQbLqRyE7XxRShfpMfjpzjNhU7jpfonx5JHJKrb1UbBpkoYQI/VhsbcgHF7LaX/CGfq+z9p8UFjWQk3vy1vdM1RwCGPnnY2OwgTku7B846wZ11OlPac0q91p9LYeCLdzL9muzccVLT5XU9IptHcEd1gh3Hpk/2AzQ6HPdEjRtetJHsP3zpN0CYeTnJUtkBTeaKGb/jvroPUMZfuNHmovcj5iHwyKoPkDmFQaqSfexg6gyNYTCh7sQefPc8uIZE9I6JplSJvMw0G1zmU7zJeVv8oITgeH9FN45UZuSbexYnGnXzDxMZs1m/iQsRfCVMiyA+6PqXTIw70UIUb9Utz4 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, 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 Thu, Jan 30, 2025 at 4:48=E2=80=AFPM Andrew Morton wrote: > > On Thu, 30 Jan 2025 16:18:04 -0800 "Vishal Moola (Oracle)" wrote: > > > Currently, users have to call vmap() or vmap_pfn() to map pages to > > kernel virtual space. vmap() requires the page references, and > > vmap_pfn() requires page pfns. If we have a file but no page references= , > > we have to do extra work to map them. > > > > Create a function, vmap_file(), to map a specified range of a given > > file to kernel virtual space. Also convert a user that benefits from > > vmap_file(). > > > > Seems like a pretty specialized thing. Have you identified any other > potential users of vmap_file()? I couldn't see any. > > If drm is likely to remain the only user of this, perhaps we should > leave the code down in drivers/gpu/drm for now? This function is generally useful for file-systems that use the pagecache. I simply chose to highlight the most obvious user that benefits from it (an= d so that the function is introduced with a user). I haven't identified any other specific users of vmap_file() myself. I know Matthew has some other ideas for it; I've cc-ed him so he can chime in. > > Also, the amount of copy-n-pasting from vmap() into vmap_file() is > undesirable - code size, maintenance overhead, etc. I wasn't particularly a fan of it either, but I couldn't find a more readab= le way to do this (without reorganizing multiple other functions). Aside from the initial flags checks, the rest of the function is slightly different fr= om vmap(), so calling existing functions won't suffice. I considered passing more arguments through to vmap(), but I think that would make the code more confusing, especially because the 2 functions have some different usage prerequisites.