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 EE38EC282DE for ; Thu, 6 Mar 2025 15:52:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 769DC280003; Thu, 6 Mar 2025 10:52:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F467280001; Thu, 6 Mar 2025 10:52:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 56E21280003; Thu, 6 Mar 2025 10:52:20 -0500 (EST) 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 32955280001 for ; Thu, 6 Mar 2025 10:52:20 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EDA03121E31 for ; Thu, 6 Mar 2025 15:52:16 +0000 (UTC) X-FDA: 83191567872.23.3E3ECFF Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by imf14.hostedemail.com (Postfix) with ESMTP id ACEDE100004 for ; Thu, 6 Mar 2025 15:52:14 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=ffwll.ch header.s=google header.b=YBPDFOUF; spf=none (imf14.hostedemail.com: domain of simona.vetter@ffwll.ch has no SPF policy when checking 209.85.128.47) smtp.mailfrom=simona.vetter@ffwll.ch; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741276335; 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=65Y7a4qK+Y/6ES6G6BlQKGj/GPIU9m2PJUgZAs9+KOM=; b=hp5uaB+ku/6iLjFmyKS6PlGEjLvCkiUxnPKmSkrs7PFGr7QeKFGJrQgAab6pJyB24U3Gds S4E3a4k9vOI7PPHxKVZsp3/jIgCklPLsXLsIKA8j6JLKJusRiklQXiaGJzfYRUKN+Cy+Jv wgWLr8nzjCtf4R/c/pI7w+76euO15So= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=ffwll.ch header.s=google header.b=YBPDFOUF; spf=none (imf14.hostedemail.com: domain of simona.vetter@ffwll.ch has no SPF policy when checking 209.85.128.47) smtp.mailfrom=simona.vetter@ffwll.ch; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741276335; a=rsa-sha256; cv=none; b=YfSLq9+0Tsh18x2L2fxU8IJqmgSKFNGasApoZW5A/UvcgmKxiicVyBfIzncNz/PN9bOv5i SZKV4xZz3nSSDcm3zm5JX8yOCHQSMhqXyVXd5cdP7/iKFlMNcW+nkLm3b5m14rZavO61/O bnaR+uQIEcodJ9hVSHwxXHZesZxoVvc= Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43bcb1a9890so14111495e9.0 for ; Thu, 06 Mar 2025 07:52:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; t=1741276332; x=1741881132; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=65Y7a4qK+Y/6ES6G6BlQKGj/GPIU9m2PJUgZAs9+KOM=; b=YBPDFOUFNQHww+Q9SdbqZdoI52d2t1OoVP1s+lOz+2nC0Y3g4CwbNWgfVCdtn0sQm8 EkFN+AnQehTVu/K15SabdwzLylz6G4kNiwtYhWAYF//asQqU90iP2/SUzNWye45gRJx0 HZ1UuERqpgBAvZRv7ZAbPiW1L6jxBMYRekBAo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741276332; x=1741881132; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=65Y7a4qK+Y/6ES6G6BlQKGj/GPIU9m2PJUgZAs9+KOM=; b=Xc3i8ZwLOYnFtCE0814dtHv1GgOTzVclJMNwhjgii2eat7CJP1E8v27bkkyKHRcLvs +UADKZTREIO+s8oiX2EHVRHAGUOtyo5ab6ajMpnecpAsRw7qA9oQGzMdBcUCy90mDRq/ qZ1T4OMcBNZKhwY3sKW5NIFmIjsmpxEvr8MH6lx7KAaB7+T4fRAvPlElICLrLf/EsZxj S/0344x2RSYGHb9D9/7StOwBFSofrtB93SIExkXleaDfh++2xv79KF+YgZnOpCo/bnL7 jVnQUiaay3XJ0w1FSfWqu4bppFiy+Gt6KbX+7HwceFT7+e5cVipXah/hwnmJm8hSfzqx hucg== X-Forwarded-Encrypted: i=1; AJvYcCWzW4YK/wVNnPFlH7w2/yaEVN4Be8OTZIZm7HE0xeagbfQeFHTX6ns/m/BXe4023o9U6lEJj1lrhQ==@kvack.org X-Gm-Message-State: AOJu0Ywb7bbanCzzVmtqQV3tOn5qI7k9+Gl263r8d2Fwoedcvsno7Bc/ xnzD791ZK027LVGGHBpPjumA0aIii2S963cO7ncTwoFpai0BUNc7xybyfQk/5Lc= X-Gm-Gg: ASbGncv61UjQt7pN8pUw/xOvzb1E8owrQTiJDcADiQ951r1VMcoulVmLrj73eGwB4/X W/NI83P6c9R3g3fr5plHieslfXEKzAZgaM+wROC+RVjh5Y6d5NcaQ8+hBTKS/GfhDdyovGPoWF3 kM52FpJ6XqTcZTWLZ9owoxZDOWwBl+vbrQBodJ5w/MSFpaw7AVpCjuwqg/KG3YF0k35qgzNNm2p +AuvG/sffK1qqEwNB+FLPrfqV+Sj8+Wb+8G+xNs117d5giPqoeApmiXaQlFuuqnVlywdVqwWg3g irO5v/svRXte3f1NY8koO5/sx9YF1r2jinCVhewOrERC3SG0RGMSWYgi X-Google-Smtp-Source: AGHT+IHeuGIWVWKb5j99SUKnlkK36tGpar1+KKK0aAa1IuGT6GpOgqR53OExqVvUKbkpEbvf2dKyFQ== X-Received: by 2002:a05:600c:3b17:b0:43b:c857:e9d7 with SMTP id 5b1f17b1804b1-43c5a6014b5mr36395e9.5.1741276332172; Thu, 06 Mar 2025 07:52:12 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:5485:d4b2:c087:b497]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bcc135676sm65178565e9.1.2025.03.06.07.52.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 07:52:10 -0800 (PST) Date: Thu, 6 Mar 2025 16:52:08 +0100 From: Simona Vetter To: Jocelyn Falempe Cc: Matthew Wilcox , Ryosuke Yasuoka , maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, kraxel@redhat.com, gurchetansingh@chromium.org, olvaffe@gmail.com, akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, dmitry.osipenko@collabora.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, linux-mm@kvack.org Subject: Re: [PATCH drm-next 1/2] vmalloc: Add atomic_vmap Message-ID: Mail-Followup-To: Jocelyn Falempe , Matthew Wilcox , Ryosuke Yasuoka , maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, kraxel@redhat.com, gurchetansingh@chromium.org, olvaffe@gmail.com, akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, dmitry.osipenko@collabora.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, linux-mm@kvack.org References: <20250305152555.318159-1-ryasuoka@redhat.com> <20250305152555.318159-2-ryasuoka@redhat.com> <3bfd4238-6954-41a3-a5a3-8515a3ac9dce@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3bfd4238-6954-41a3-a5a3-8515a3ac9dce@redhat.com> X-Operating-System: Linux phenom 6.12.11-amd64 X-Stat-Signature: y9aur7bgup3gtghi4b3necpjdkaco7zp X-Rspamd-Queue-Id: ACEDE100004 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1741276334-35300 X-HE-Meta: U2FsdGVkX1+4Z8+TzMaDSezRA26UdgN+gLZQrRVsWTaDCNqKnKJBV7SqI0UDtOGfAbeyIFUVx3JE6X+sZmI034u1hQ5UYhhK1RXnSZbYFiSQ2PAQy/Sh39B/1UPAmHfM1pb319zlfZQIVODHukV8U3NfOt5Fu/Tn/RvhCInDHITQnKb57Ibid6/SDQTLjvDvd1PYT0W72yIOdcYsRXI38/FgzFApXtyUEgLyE0LMs9NkTE55dWKnTVWnA6PzcF1GS8Qa4xrViRw9Stqv7RIISfN8lyueJjXdYZo0v7UFJwTOwq51Bd8+iCLDv5+nqS3SLEh9etPuDiSu0vWLdieggjstfdqfFMEwn2d1kCDRBGBdfuI1UalevoGB9gh4wWxcOeRBIydaJm4lRnqrOSpPUoXcRdPZjobYbo15d84gL+oghOJRUDVGWz5qjqgA654kgzhfX3fNeiYcmgmWCN+ef0s1rj6ArES88LUSV+ADoTf7p4ZIIyk1pODcsNqo0MaMV0TY9xXMDT5zBPArYy5valobTKc+XfpIhQnW+UGEto4k6GgCpkcXoizDdxjOTlgJ+sJT8Q8a2Cwo6s1gHLVtKtTrj3iBcc9tuKLxHz4HumLiMsDsFxFKtIKaGxbYyoky4H3fyXMRsId2VPAwC24h4ySsA19NoFO6ZpBfrLnmoBOBgHx0X5Y/u4XAf5iF4jA+tVG6akZaMcMjjDmmQyGzvXeRaeNFC//dneb3L92jbkhyZNaSjfdRMRyqnqQe6XipskqHg7mFq1VUK9PIDP1B25iwSxU4dT+U3g95IbohvDmlEy8mJnUnPBngAjCfeHTNYI7WwrqnqnKfXgx52W2jeOO0n95/QeghRJUrawbUxevJGrHDGuL8/qh1qKlgL50QagGJrm2sjDtNyYLpzpmfzCxGZI6guH9US+pjfmJfgDVgsh2Kme3GfZZ+XILAo2vXdOX+P1WYR6QfGQdfPRZ fcT71nFI 3+HAl4tpu7JGYAZfvFSd++LmOYE1wNePpX1ImI0X2QL49UPr4YyIurqbXwvu2JUyJgU3DaJTsmQdsdV8IA51nZkMemTckND2NeowoHSWvLdLsJPaZm2Uv/A9pLZNlQ0TUV4Jzr+npVBAauhzfskHJ9ysbtm9l+WMK7oRkU2nc88oOal5BmJPRx3O50diStt/2Z8tc2yF3xloD0VZKi9baeV0MQiUXV0oii9YpvbDhYSIHtoUPWBt3KGVtCrMX0cplVGqo0a0NsCQ2CIrT4NYdtgdYa12twVqQE4d3EEMHW7uUmPn4oMgcpea7qjkQhbmMR3a/0XiC4vkE0ZBE3LjjvUjvAA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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, Mar 06, 2025 at 02:24:51PM +0100, Jocelyn Falempe wrote: > On 06/03/2025 05:52, Matthew Wilcox wrote: > > On Thu, Mar 06, 2025 at 12:25:53AM +0900, Ryosuke Yasuoka wrote: > > > Some drivers can use vmap in drm_panic, however, vmap is sleepable and > > > takes locks. Since drm_panic will vmap in panic handler, atomic_vmap > > > requests pages with GFP_ATOMIC and maps KVA without locks and sleep. > > > > In addition to the implicit GFP_KERNEL allocations Vlad mentioned, how > > is this supposed to work? > > > > > + vn = addr_to_node(va->va_start); > > > + > > > + insert_vmap_area(va, &vn->busy.root, &vn->busy.head); > > > > If someone else is holding the vn->busy.lock because they're modifying the > > busy tree, you'll corrupt the tree. You can't just say "I can't take a > > lock here, so I won't bother". You need to figure out how to do something > > safe without taking the lock. For example, you could preallocate the > > page tables and reserve a vmap area when the driver loads that would > > then be usable for the panic situation. I don't know that we have APIs > > to let you do that today, but it's something that could be added. > > > Regarding the lock, it should be possible to use the trylock() variant, and > fail if the lock is already taken. (In the panic handler, only 1 CPU remain > active, so it's unlikely the lock would be released anyway). > > If we need to pre-allocate the page table and reserve the vmap area, maybe > it would be easier to just always vmap() the primary framebuffer, so it can > be used in the panic handler? Yeah I really don't like the idea of creating some really brittle one-off core mm code just so we don't have to vmap a buffer unconditionally. I think even better would be if drm_panic can cope with non-linear buffers, it's entirely fine if the drawing function absolutely crawls and sets each individual byte ... The only thing you're allowed to do in panic is try_lock on a raw spinlock (plus some really scare lockless tricks), imposing that on core mm sounds like a non-starter to me. Cheers, Sima -- Simona Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch