From: Andy Lutomirski <luto@amacapital.net>
To: Andy Lutomirski <luto@kernel.org>,
Till Smejkal <till.smejkal@googlemail.com>,
Richard Henderson <rth@twiddle.net>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Steven Miao <realmz6@gmail.com>,
Richard Kuo <rkuo@codeaurora.org>,
Tony Luck <tony.luck@intel.com>,
Fenghua Yu <fenghua.yu@intel.com>,
James Hogan <james.hogan@imgtec.com>,
Ralf Baechle <ralf@linux-mips.org>,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
Helge Deller <deller@gmx.de>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Rich Felker <dalias@libc.org>,
"David S. Miller" <davem@davemloft.net>,
Chris Metcalf <cmetcalf@mellanox.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
X86 ML <x86@kernel.org>, Chris Zankel <chris@zankel.net>,
Max Filippov <jcmvbkbc@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Pawel Osciak <pawel@osciak.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
Boris Brezillon <boris.brezillon@free-electrons.com>,
Marek Vasut <marek.vasut@gmail.com>,
Richard Weinberger <richard@nod.at>,
Cyrille Pitchen <cyrille.pitchen@atmel.com>,
Felipe Balbi <balbi@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Benjamin LaHaise <bcrl@kvack.org>,
Nadia Yvette Chambers <nyc@holomorphy.com>,
Jeff Layton <jlayton@poochiereds.net>,
"J. Bruce Fields" <bfields@fieldses.org>,
Peter Zijlstra <peterz@infradead.org>,
Hugh Dickins <hughd@google.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-alpha@vger.kernel.org,
arcml <linux-snps-arc@lists.infradead.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
adi-buildroot-devel@lists.sourceforge.net,
linux-hexagon@vger.kernel.org,
"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
linux-metag@vger.kernel.org,
Linux MIPS Mailing List <linux-mips@linux-mips.org>,
linux-parisc@vger.kernel.org,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
sparclinux@vger.kernel.org, linux-xtensa@linux-xtensa.org,
Linux Media Mailing List <linux-media@vger.kernel.org>,
linux-mtd@lists.infradead.org,
USB list <linux-usb@vger.kernel.org>,
Linux FS Devel <linux-fsdevel@vger.kernel.org>,
linux-aio@kvack.org, "linux-mm@kvack.org" <linux-mm@kvack.org>,
Linux API <linux-api@vger.kernel.org>,
linux-arch <linux-arch@vger.kernel.org>,
ALSA development <alsa-devel@alsa-project.org>
Subject: Re: [RFC PATCH 00/13] Introduce first class virtual address spaces
Date: Mon, 13 Mar 2017 22:37:27 -0700 [thread overview]
Message-ID: <CALCETrXKvNWv1OtoSo_HWf5ZHSvyGS1NsuQod6Zt+tEg3MT5Sg@mail.gmail.com> (raw)
In-Reply-To: <20170314020709.vxeglus54k76i7rn@arch-dev>
On Mon, Mar 13, 2017 at 7:07 PM, Till Smejkal
<till.smejkal@googlemail.com> wrote:
> On Mon, 13 Mar 2017, Andy Lutomirski wrote:
>> This sounds rather complicated. Getting TLB flushing right seems
>> tricky. Why not just map the same thing into multiple mms?
>
> This is exactly what happens at the end. The memory region that is described by the
> VAS segment will be mapped in the ASes that use the segment.
So why is this kernel feature better than just doing MAP_SHARED
manually in userspace?
>> Ick. Please don't do this. Can we please keep an mm as just an mm
>> and not make it look magically different depending on which process
>> maps it? If you need a trampoline (which you do, of course), just
>> write a trampoline in regular user code and map it manually.
>
> Did I understand you correctly that you are proposing that the switching thread
> should make sure by itself that its code, stack, … memory regions are properly setup
> in the new AS before/after switching into it? I think, this would make using first
> class virtual address spaces much more difficult for user applications to the extend
> that I am not even sure if they can be used at all. At the moment, switching into a
> VAS is a very simple operation for an application because the kernel will just simply
> do the right thing.
Yes. I think that having the same mm_struct look different from
different tasks is problematic. Getting it right in the arch code is
going to be nasty. The heuristics of what to share are also tough --
why would text + data + stack or whatever you're doing be adequate?
What if you're in a thread? What if two tasks have their stacks in
the same place?
I could imagine something like a sigaltstack() mode that lets you set
a signal up to also switch mm could be useful.
next prev parent reply other threads:[~2017-03-14 5:38 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 22:14 [RFC PATCH 00/13] Introduce first class virtual address spaces Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 01/13] mm: Add mm_struct argument to 'mmap_region' Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 02/13] mm: Add mm_struct argument to 'do_mmap' and 'do_mmap_pgoff' Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 03/13] mm: Rename 'unmap_region' and add mm_struct argument Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 04/13] mm: Add mm_struct argument to 'get_unmapped_area' and 'vm_unmapped_area' Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 05/13] mm: Add mm_struct argument to 'mm_populate' and '__mm_populate' Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 06/13] mm/mmap: Export 'vma_link' and 'find_vma_links' to mm subsystem Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 07/13] kernel/fork: Split and export 'mm_alloc' and 'mm_init' Till Smejkal
2017-03-14 10:18 ` David Laight
2017-03-14 10:18 ` David Laight
2017-03-14 16:18 ` Till Smejkal
2017-03-14 16:18 ` Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 08/13] kernel/fork: Define explicitly which mm_struct to duplicate during fork Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 09/13] mm/memory: Add function to one-to-one duplicate page ranges Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 10/13] mm: Introduce first class virtual address spaces Till Smejkal
2017-03-13 23:52 ` Greg Kroah-Hartman
2017-03-14 0:24 ` Till Smejkal
2017-03-14 1:35 ` Vineet Gupta
2017-03-14 1:35 ` Vineet Gupta
2017-03-14 2:34 ` Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 11/13] mm/vas: Introduce VAS segments - shareable address space regions Till Smejkal
2017-03-13 22:27 ` Matthew Wilcox
2017-03-13 22:45 ` Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 12/13] mm/vas: Add lazy-attach support for first class virtual address spaces Till Smejkal
2017-03-13 22:14 ` [RFC PATCH 13/13] fs/proc: Add procfs " Till Smejkal
2017-03-14 0:18 ` [RFC PATCH 00/13] Introduce " Richard Henderson
2017-03-14 0:39 ` Till Smejkal
2017-03-14 1:02 ` Richard Henderson
2017-03-14 1:31 ` Till Smejkal
2017-03-14 0:58 ` Andy Lutomirski
2017-03-14 0:58 ` Andy Lutomirski
2017-03-14 2:07 ` Till Smejkal
2017-03-14 2:07 ` Till Smejkal
2017-03-14 5:37 ` Andy Lutomirski [this message]
2017-03-14 5:37 ` Andy Lutomirski
2017-03-14 16:12 ` Till Smejkal
2017-03-14 16:12 ` Till Smejkal
2017-03-14 19:53 ` Chris Metcalf
2017-03-14 19:53 ` Chris Metcalf
2017-03-14 21:14 ` Till Smejkal
2017-03-14 21:14 ` Till Smejkal
2017-03-15 16:51 ` Andy Lutomirski
2017-03-15 16:51 ` Andy Lutomirski
2017-03-15 16:57 ` Matthew Wilcox
2017-03-15 16:57 ` Matthew Wilcox
2017-03-15 19:44 ` Till Smejkal
2017-03-15 19:44 ` Till Smejkal
2017-03-15 19:47 ` Rich Felker
2017-03-15 19:47 ` Rich Felker
2017-03-15 21:30 ` Till Smejkal
2017-03-15 21:30 ` Till Smejkal
2017-03-15 20:06 ` Andy Lutomirski
2017-03-15 20:06 ` Andy Lutomirski
2017-03-15 22:02 ` Till Smejkal
2017-03-15 22:02 ` Till Smejkal
2017-03-15 22:09 ` Luck, Tony
2017-03-15 22:09 ` Luck, Tony
2017-03-15 23:18 ` Till Smejkal
2017-03-15 23:18 ` Till Smejkal
2017-03-16 8:21 ` Thomas Gleixner
2017-03-16 8:21 ` Thomas Gleixner
2017-03-16 17:29 ` Till Smejkal
2017-03-16 17:29 ` Till Smejkal
2017-03-16 17:42 ` Thomas Gleixner
2017-03-16 17:42 ` Thomas Gleixner
2017-03-16 17:50 ` Till Smejkal
2017-03-16 17:50 ` Till Smejkal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALCETrXKvNWv1OtoSo_HWf5ZHSvyGS1NsuQod6Zt+tEg3MT5Sg@mail.gmail.com \
--to=luto@amacapital.net \
--cc=acme@kernel.org \
--cc=adi-buildroot-devel@lists.sourceforge.net \
--cc=alexander.shishkin@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=balbi@kernel.org \
--cc=bcrl@kvack.org \
--cc=benh@kernel.crashing.org \
--cc=bfields@fieldses.org \
--cc=boris.brezillon@free-electrons.com \
--cc=catalin.marinas@arm.com \
--cc=chris@zankel.net \
--cc=cmetcalf@mellanox.com \
--cc=computersforpeace@gmail.com \
--cc=cyrille.pitchen@atmel.com \
--cc=dalias@libc.org \
--cc=davem@davemloft.net \
--cc=deller@gmx.de \
--cc=dwmw2@infradead.org \
--cc=fenghua.yu@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=ink@jurassic.park.msu.ru \
--cc=james.hogan@imgtec.com \
--cc=jcmvbkbc@gmail.com \
--cc=jejb@parisc-linux.org \
--cc=jlayton@poochiereds.net \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-aio@kvack.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-metag@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-mm@kvack.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=luto@kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=marek.vasut@gmail.com \
--cc=mattst88@gmail.com \
--cc=mchehab@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=nyc@holomorphy.com \
--cc=paulus@samba.org \
--cc=pawel@osciak.com \
--cc=perex@perex.cz \
--cc=peterz@infradead.org \
--cc=ralf@linux-mips.org \
--cc=realmz6@gmail.com \
--cc=richard@nod.at \
--cc=rkuo@codeaurora.org \
--cc=rth@twiddle.net \
--cc=schwidefsky@de.ibm.com \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=till.smejkal@googlemail.com \
--cc=tiwai@suse.com \
--cc=tony.luck@intel.com \
--cc=vgupta@synopsys.com \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
--cc=x86@kernel.org \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).