Message ID | 20250408183646.1410-1-mhklinux@outlook.com (mailing list archive) |
---|---|
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 AF414C36010 for <linux-mm@archiver.kernel.org>; Tue, 8 Apr 2025 18:37:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3BE86B00DB; Tue, 8 Apr 2025 14:37:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AE89B6B00DC; Tue, 8 Apr 2025 14:37:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B5AB6B00DD; Tue, 8 Apr 2025 14:37:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7D3626B00DB for <linux-mm@kvack.org>; Tue, 8 Apr 2025 14:37:00 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B724A1A0FAE for <linux-mm@kvack.org>; Tue, 8 Apr 2025 18:37:01 +0000 (UTC) X-FDA: 83311733442.24.039F06E Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by imf03.hostedemail.com (Postfix) with ESMTP id B47D720011 for <linux-mm@kvack.org>; Tue, 8 Apr 2025 18:36:59 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Cv+/01xO"; spf=pass (imf03.hostedemail.com: domain of mhkelley58@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=mhkelley58@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744137419; h=from:from:sender:reply-to: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: references:dkim-signature; bh=bEeigtXbuhczioF+6lFvsC87+fhHQtlYev57eI/FUBg=; b=bjuwWXaAAA9h70jC1Jx9wYWRaAZQbcj1qO0E+aTh8GKoXl6uRDdTI8aUDs0g8hFEX2IbeW KNMasjv+Rv8C+U4JyQ6P/55XVDSytWB7ViJ9sNABVIK7vbO8tzauphXMemgr9Vq32VlDq3 kTuqY8LpHYC8qu0xI+9VmqzfbRN6iM0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Cv+/01xO"; spf=pass (imf03.hostedemail.com: domain of mhkelley58@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=mhkelley58@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744137419; a=rsa-sha256; cv=none; b=qS277dIPvpFXxHhqdCmudXtXnDjCI9ww8VVh/pX90Ofx99Z5fplaZTL+yq/7ClyyUW04bB kQlUKX0MloA1bnPPtLVNO3QMDeN+fFPbgtT7eIkEDPypOLMZpEE/u7N1zM/vWbYaKFAOx8 0IF3Hx2ZuH4tXiXYQ40/JFtTmn5yfMg= Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-736c1cf75e4so5144126b3a.2 for <linux-mm@kvack.org>; Tue, 08 Apr 2025 11:36:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744137418; x=1744742218; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=bEeigtXbuhczioF+6lFvsC87+fhHQtlYev57eI/FUBg=; b=Cv+/01xOij2IkBuXsArYv9TRKhCfUNQRxKjTiHnzwWgSevCJ5EZThb9y3InrvfimvB geGTqJUvrQ3wCDfGaFdLnSdenZm1QO1tUsFyiYp8tKbkf4QOJNxfYAPA0TYPD2X8A+Dc 3zYY8QRS64dxsYPLRSq6vFRcp8PFQFFrCGf9dcAwjAzuq2b/CxsZEL5caViIsczTl92w FOR1km3OG96gMcPIyf2Vsn+ljHXQlILY4sQ4yiKLyf+C3M2obXCqreZjJVWLgdmMBXaL kbhibhduhYNw23OzW4XZI9aUnidBDVJOaHH1hm/Ihplvng5ybBcqVYR4C9ZAi9O3a4Bv Me3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744137418; x=1744742218; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=bEeigtXbuhczioF+6lFvsC87+fhHQtlYev57eI/FUBg=; b=BNBJoq13qdAyFI67FYXNEeTjkkb4Gh3WPv5iqx2HPynPRTk5IgEWtDWpDtVS3kQ3rY X0dqMwwEDaYIeQIB6nmBfu3HjWb61KXLq2aLfFnMExslx9YXpUwWfyS5q2dKwiUXfFd5 ISwDntmGtUKz9fkqwlSL1yGa+Me0WL1IuFvl9WIRM5qGbJOHQCHW05CqsDfFvJWVZUda GqlZylOd+ux9jv86RL5XbuwhIDfSZqAWodWtmm5CEvD/3rvCXfDqgGzhPMIOK+MOnpqB ehGEGmRZ0QVdjjAALLRQtIL2n6U1AoqSG6LJt+ZsOzD9JPFNtiZ/MfXCyNzOgu3g8yoI 5FlQ== X-Forwarded-Encrypted: i=1; AJvYcCUTVg4MTSGpwe9VtwGgji1HTowNHUfAGBnBnoz+WTp+RpKF5zQzu2lux0/TNcwQ961JHUXlY4/TaA==@kvack.org X-Gm-Message-State: AOJu0Yz3Hso9mKqBWr8DIx40x1wdee7IWEjQXSZU7yUzlkGGqsekYhWB gYQPr5bq98rUDtfa9VU8stSdztPw4AjMOd9M+bb5ij6DOjamdNbp X-Gm-Gg: ASbGncs2U5BTWILr1Y6gULUDE/hQJr1hA0vbb7qghpa7DoXKfHDEC9D71mH61xbkGx+ qXWf8BAQK7Ctl+ReP4ItqdNoaIFjh2Kt7Wwcr6tZKoEe4bv/9E/s4Wny7dT4G92uTRYiIV5B0nD p+gytzJ6nm8OvSirtOcWAp1ssdSddRYp/f5MbOUGg8jqRPLNajB/GruRE9a0IaV4FUOM89vzC6g IREK3fdjpZ5/N3+Rg8LcmHE9cPEG9HpIhBT9su7/UrlrthKWu0RuGvSqAXpsqgo6FFGZuFAoZWn MhZjD2/owHQ/njgFYQ4Nsd4lWhyo08PKQTcAgzu/t1QKxOAJ7PSU2ZaZFXmHxuDmoKJq12LfXYX cEuJyKeP5U3umoZMvFnIquSaX4A+51HhIkw== X-Google-Smtp-Source: AGHT+IE3PGvOtJxss8WsloRc6dNnfNCVIij/xjc7LUujufO1C+pBYPdR2U2LJqkutAnOAYB1T4ZWLA== X-Received: by 2002:a05:6a00:1152:b0:736:ab21:6f37 with SMTP id d2e1a72fcca58-73bae30912bmr152031b3a.0.1744137418368; Tue, 08 Apr 2025 11:36:58 -0700 (PDT) Received: from localhost.localdomain (c-67-160-120-253.hsd1.wa.comcast.net. [67.160.120.253]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739d97d32b2sm10960469b3a.5.2025.04.08.11.36.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 11:36:58 -0700 (PDT) From: mhkelley58@gmail.com X-Google-Original-From: mhklinux@outlook.com To: jayalk@intworks.biz, simona@ffwll.ch, deller@gmx.de, haiyangz@microsoft.com, kys@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, akpm@linux-foundation.org Cc: weh@microsoft.com, tzimmermann@suse.de, hch@lst.de, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 0/3] fbdev: Add deferred I/O support for contiguous kernel memory framebuffers Date: Tue, 8 Apr 2025 11:36:43 -0700 Message-Id: <20250408183646.1410-1-mhklinux@outlook.com> X-Mailer: git-send-email 2.25.1 Reply-To: mhklinux@outlook.com MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B47D720011 X-Stat-Signature: gkiypdjaxc3eunrp55t7f4t4t5mxp17o X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1744137419-588940 X-HE-Meta: U2FsdGVkX18+3G4S4eUHFS+MT8JAgAEfRc0paKO5wjoKGW/TSXn2jdQ4MUPV9bRJ+Ddhp9JpmRHhet+3c0b6N7Q+FcimahItsWfzMdPg8jZn2toaQg4ho4tAU1v2wgTe8ckm338MNEgmQLTTJQ3FICMWH9i7LmXRRjj9YnILMDJEsVJOf1cnGb8D7Nc6wKwja7LODsayXhlYSAjqgS6BQKv0akHPg07ptRU9xRvbevqoPkWD26u4IY+EpvKY6p6otj/RQ5aar0YtcLwIauXtOYj04cnNlhbVHiRzKmXgbfFGQEmJXHxpNUeG8r/fj7yghAHC4VA9a0x32YHXh2TXNKmw8s3gpe7d6j2Kdy63a0Colhfco8l/qywxFenvDKgLnJjEWpe5wBGO/S8Iw1n7/LvP0O5hgAOEl6/GH/iQ/dwmDt7t+aAQ3HAD2htIpEg33n6uHc0c7/6Bz0VfaSgH0fjqQi2lKF6LDK+xN2tQLiW9/ZTG07nu8WDOr5kQ6pI6u/hcbIIwtCzyo2Es+peeEmsviLaMn3mGDDXsBNmg2s7rBFC7nPVh3Qfp6wo3yIrnH71HZNfvwDMWNfNP+VZ5LUiNg5SEjWp+7zwJRJYI/EiwWixOIEj4H+OuvCDhUXXAy8ZIJE+m6dZ7uzGKa2N66G4Cl47Z1p7boz4Fr14tQzRAtnWtKhVyzsoa0RZTz3N7BoCt98ReDH66KmGQE6ktIJgOiLWG5voccV0T7nlx5JeaZi96P5KFEVXRw2Z2MO2wAZiBHECwqxaeClFAv6w3/if6eQ4cEkwZwsXVrbI4v/Px2XvErH9f1V8fDIkfPwKAeycjm9pbuPjCPC9cCLShcQoZIZnejyEhn8otetYte6JzrD0AUu365vKLohKcjd7Hoo0c50C15L9oounGOP1WE/fuL+cy+7GhQnRZDtCrka+Jh+aerfEvO/j0yZAcQK+wtrvAfqMCQDE3b/7wbJL 4a5zXDhk DjcHotqSH9IsmYebMXwvpvq2fKqmSPI4nr47bbFOTxw5ddB5VODV5naftxzwEHf+jTb4N4XX0PklHdCyhdNXIbRN0yesPNCaZRQ1RsTOITeDFe/H/EvBzrBaqXxLlBfjArVTAY61+mBcIWLIuxFdHT20vnHv4X3mywmzYF7MnAEppbF2zDuq/Gg644uafc7Mf/ab3kwFpGD8eSWY3BS1UKhS0QyUEWepd2MR8PxwhIAdgOQGXekTjdIALNhGTfUV3FSFgMyprnzR5FPaz41VwyLbx8kaaHx4tbVv/tney/iXzjgI7TbQxvVOkh+VsMaeA8uwWaJfNk9BtnvMso3oqPB3aLj1m0Ec0L4ZDg3FcnaW6hfqbJE+l9FZqVjX6yyxXADBzij4H5WvGT4lOri8Sydnq5oNMi/5RSYiJ8cOnEfLPT/6NyIjxJzw09wc+k9fO6YfQ8APyc4xu6UvvbOHp5AWopp1wRVzal6AeIL/j+XyDcjDpyhOSzIfUEAcySinMwWtc9G3ts5g3U4SXaHiCW8BnlEqCbeMKGHyAYtbMDTW60XLJwezDRqMCEmIlbi08Lnov X-Bogosity: Ham, tests=bogofilter, spamicity=0.000508, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
fbdev: Add deferred I/O support for contiguous kernel memory framebuffers
|
expand
|
From: Michael Kelley <mhklinux@outlook.com> Current deferred I/O code works only for framebuffer memory that is allocated with vmalloc(). The code assumes that the underlying page refcount can be used by the mm subsystem to manage each framebuffer page's lifecycle, which is consistent with vmalloc'ed memory, but not with contiguous kernel memory from alloc_pages() or similar. When used with contiguous kernel memory, current deferred I/O code eventually causes the memory free lists to be scrambled, and a kernel panic ensues. The problem is seen with the hyperv_fb driver when mmap'ing the framebuffer into user space, as that driver uses alloc_pages() for the framebuffer in some configurations. This patch set fixes the problem by supporting contiguous kernel memory framebuffers with deferred I/O. Patch 1 exports a 'mm' subsystem function needed by Patch 2. Patch 2 is the changes to the fbdev deferred I/O code. More details are in the commit message of Patch 2. Patch 3 updates the hyperv_fb driver to use the new functionality from Patch 2. Michael Kelley (3): mm: Export vmf_insert_mixed_mkwrite() fbdev/deferred-io: Support contiguous kernel memory framebuffers fbdev: hyperv_fb: Fix mmap of framebuffers allocated using alloc_pages() drivers/video/fbdev/core/fb_defio.c | 126 +++++++++++++++++++++++----- drivers/video/fbdev/hyperv_fb.c | 1 + include/linux/fb.h | 1 + mm/memory.c | 1 + 4 files changed, 109 insertions(+), 20 deletions(-)