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 D0F67C77B75 for ; Mon, 22 May 2023 20:44:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D4716B0074; Mon, 22 May 2023 16:44:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 084C46B0075; Mon, 22 May 2023 16:44:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDC90900002; Mon, 22 May 2023 16:44:08 -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 DD5B56B0074 for ; Mon, 22 May 2023 16:44:08 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9F6E8160504 for ; Mon, 22 May 2023 20:44:08 +0000 (UTC) X-FDA: 80819068176.07.543F058 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf08.hostedemail.com (Postfix) with ESMTP id F2F38160015 for ; Mon, 22 May 2023 20:44:06 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=yK5fQmVr; dkim=pass header.d=linutronix.de header.s=2020e header.b=fG5JmkTh; spf=pass (imf08.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684788247; 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=5CheqHqGD8hj2bnx2bKxcYyD7u5BAQXGkRrtmFKHHi4=; b=Nc19V8q1541qCqXYvFic4SCynVgrDlBRU33jyRqaODk0tEpYdAYNbX57LxRoUhssTWrKx/ 7/CgUwEwpVzFc9N0DfzEBNKfUZCumxCzraoIpxU0AfQTVakwZfJL7xS5TpKl/aifxsvTF0 lqvgwW9JI/XHJijHjfqJhe1vDjYryCI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684788247; a=rsa-sha256; cv=none; b=pAp3DPOO+BteCVFSLmkdF208x8Nu/rKHxhi1balLGgq0nv99GvyJzzqpp5f2BpuotLywJF sffBuPFNZRWv03z361py6fj2eVnQbK0ufywNpUqqFM26KcG2YTcnp3jzyJoJE50ix5chtx 0ajLzJIz7B1raB29ffU6gjG1QzquoYY= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=yK5fQmVr; dkim=pass header.d=linutronix.de header.s=2020e header.b=fG5JmkTh; spf=pass (imf08.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1684788245; 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=5CheqHqGD8hj2bnx2bKxcYyD7u5BAQXGkRrtmFKHHi4=; b=yK5fQmVrzEDaXhT93Qf4Mm2jnmRPRi0hSmTtTYaWhrLTnv8FI40NOGeZxLd62gAIbT7Guu qnLseWFuapN847+LQmTP6+bW+ESqx7VFks33ZyXEy1WJMuUj8Jh7Z6B1zHWSGxkqDzz+MS f1COxoI1Yj0vANltXR+3/KfqOAibaAlFd2bmj2B9TeKAmrl1MsoiBrL0Q9hX8ILa8g9R4M BYeWIrNh1Hu6iXNsKFTCjDYNJc6RpdxsYzsH9B0ASnqCQrbmTdh9/EIkcziAAqLNUwdmbk fRju9IUxuSwO4TKHDO+a9YjnyzAh4LVE1YxhYp+nFG3zxMrb5tib7zx8/ikD3w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1684788245; 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=5CheqHqGD8hj2bnx2bKxcYyD7u5BAQXGkRrtmFKHHi4=; b=fG5JmkThTeqb/Htc/fp8E3LLyPiEboaxnOLZWTDA+xSSZVh2JwDP9DDvwR0pHLW1iklYN4 EWPH2XwqVAtDSQDA== To: Baoquan He Cc: "Russell King (Oracle)" , Andrew Morton , linux-mm@kvack.org, Christoph Hellwig , Uladzislau Rezki , Lorenzo Stoakes , Peter Zijlstra , John Ogness , linux-arm-kernel@lists.infradead.org, Mark Rutland , Marc Zyngier , x86@kernel.org, Nadav Amit Subject: Re: [RFC PATCH 3/3] mm/vmalloc.c: change _vm_unmap_aliases() to do purge firstly In-Reply-To: <87h6s4w20b.ffs@tglx> References: <874joc8x7d.ffs@tglx> <87r0rg73wp.ffs@tglx> <87edng6qu8.ffs@tglx> <87cz2w415t.ffs@tglx> <87jzx1xou9.ffs@tglx> <87wn10wp45.ffs@tglx> <87h6s4w20b.ffs@tglx> Date: Mon, 22 May 2023 22:44:04 +0200 Message-ID: <87edn8w0yz.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: F2F38160015 X-Rspam-User: X-Stat-Signature: yh5u4e7pgp99co61u9qsgmcfibhw54eb X-Rspamd-Server: rspam03 X-HE-Tag: 1684788246-141999 X-HE-Meta: U2FsdGVkX1/iQMxwBQ9g8qJj3is1d6rC+XBwyPf3h57iKQXB1Ky6mwrwd0pIONOwvnlhCvib9cpQ/TsMgkdjn7yB1F4XmYvJN4RWkizXGgmHe9gU8SJhViB5n4DtB6g8aoPwJuTZMN5/Nvzb9BJ8YgAks25IBRcuIhTTUsUyBx7AujmgklOsNZBD6Ke0q3u1Zmk/7m0FNioCLgQkfmX7A9ZNzlWT9hB6uWnCSJGqzW4ynX9lzvn3wGpcuePGAi/k3wsnNrcl6NVcB4gftZB/jmiXfhaH6VdjMeNyWhBEoXhHcAcEeQz/Sk1LQEU2pREkB7AqiBnSw7GtKgR/yRcMWDQ1wWjj6Lpco6TKXy6xJ8nrUubXhTi6riacXZCEMVyDimPjjqN5xhC5zeovGGFbMzhzSfCmApxEoiNXOkD3XX3JDXMtXpnwXQ4KrgczTpfA3ToWjssoO7okj5w0D3rxcSW1Bo4u67FMvf/7ZOYKQZLMsEnDkpGdJYP6wi3KMOHocypfVwZKzLCyB7OCPlWBMxTrsAIt0TAb6IRGnGIxQX+0du9J9i/ufSNF1ZL4CuvmEp7rjpVC28n36KX3H6RaCkpaMXcwONxbvwOungIrsZqbCdPRPDEuib9LJXCGzVky/gFjKkxyNYkGZaTOxJzDYoLKP6ybobWxR2+sDlvgXFZZbNfUew/y7LmZz7O3Pc3hUiyH1BWR0hVvBROUYuBHd2wl6M/gQMHsl8ux8CsJKA5qY8vd8Y7veszSwO2CM0dNeEe4EcVlzLI3mnb5OYNu5YOYLtk+APLjJOCzRmZo/9yOFNNSrpmNqmzYRBW1O/xcYGNpeh0+JZQiUS0uQa2wH1GoWo//YmA6zQSs58u4jfSMkve5cY648dPHugJzg+cTUbbvQpAUKGzo7pRzxXbhjvZrnNjM4XM0dNDhBnb6CeMreCA0asPrAwtv64+bjwuv71VaAyedQay1l/7rvFd PswxCz50 vC+aOmSplOJ7/J6bDHQ71Iijh9zpBqlzf/PvuwHFcsi+/io4j9QJlL2OgMu2GxfXPFptAQlX9PDroUPd4uSGT8gJDyy6pie93POrkPwIKLFgqv0TPrcAuDGlhBJhQLI5oYSUTN5mw0sKTHDRnc9v7xLOfMbSzbAqpBWkt 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 Mon, May 22 2023 at 22:21, Thomas Gleixner wrote: > Lets assume that *bar is the first member of foo, i.e. offset of *bar in > struct foo is 0 > > p = (struct foo *)(member_pointer - 0); > > So you end up with > > p == member_pointer == bar > > But you won't get there because the static_assert() in container_of() > will catch that and the compiler will tell you in colourful ways. > > Once the vmap area is handed over for cleaning up the vmap block is gone > and even if you let it stay around then the vmap area does not have any > information where to find the block. > > You'd need to have a pointer to the vmap block in vmap area or embed > vmap area into vmap block. The latter would require to: - split alloc_vmap_area() apart - sprinkle 'if (vmap_area_is_vmap_block(va))' all over the place - do a lot of other nasty things Not sure if that's worth it. There are some other options to pursue. Thanks, tglx