All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
To: Linus Torvalds
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Arjan van de Ven <arjan-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Roland McGrath <roland-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Sukadev Bhattiprolu
	<sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Containers
	<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	Nathan Lynch <nathanl-V7BBcbaFuwjMbYB6QlFGEg@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Eric W. Biederman"
	<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
	mingo-X9Un+BFzKDI@public.gmane.org,
	Alexey Dobriyan
	<adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kosaki.motohiro-+CUm20s59erQFUHtdCDX3A@public.gmane.org
Subject: Re: [RFC][v7][PATCH 8/9]: Define clone2() syscall
Date: Tue, 29 Sep 2009 13:02:15 -0700	[thread overview]
Message-ID: <4AC267C7.4070300@zytor.com> (raw)
In-Reply-To: <alpine.LFD.2.01.0909291207410.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>

On 09/29/2009 12:10 PM, Linus Torvalds wrote:
> 
> On Tue, 29 Sep 2009, Arjan van de Ven wrote:
>>>
>>> We already have a syscall layer which is painful to thunk in places,
>>> and this would make it much worse.
>>
>> syscalls are cheap as well.
>> cheaper than decades of dealing with such multiplexer mess ;/
> 
> Well, I'd agree, except the clone flags really _are_ about multiplexer 
> issues, and the new flag woudln't really change anything. 
> 
> If the new system call actually had appreciably separate code-paths, I'd 
> buy the "multiplexer" argument. But it doesn't really. It's going to call 
> down to the same basic clone functionality, and the core clone code ends 
> up de-multiplexing the cases anyway.
> 
> So this would not at all be like the socket calls (to pick the traditional 
> Linux system call multiplexing example) in that sense.
> 

That's not the main issue here, though.  The main issue is that the
prototype of the function now depends on one of its arguments, which is
absolute hell for anything that needs to thunk arguments in a systematic
way, which we have to do on several architectures, and which would be
useful to be able to do for others, too.

	-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Roland McGrath <roland@redhat.com>,
	Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Containers <containers@lists.linux-foundation.org>,
	Nathan Lynch <nathanl@austin.ibm.com>,
	linux-kernel@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	mingo@elte.hu, Alexey Dobriyan <adobriyan@gmail.com>,
	Pavel Emelyanov <xemul@openvz.org>,
	linux-api@vger.kernel.org, kosaki.motohiro@jp.fujitsu.com
Subject: Re: [RFC][v7][PATCH 8/9]: Define clone2() syscall
Date: Tue, 29 Sep 2009 13:02:15 -0700	[thread overview]
Message-ID: <4AC267C7.4070300@zytor.com> (raw)
In-Reply-To: <alpine.LFD.2.01.0909291207410.6996@localhost.localdomain>

On 09/29/2009 12:10 PM, Linus Torvalds wrote:
> 
> On Tue, 29 Sep 2009, Arjan van de Ven wrote:
>>>
>>> We already have a syscall layer which is painful to thunk in places,
>>> and this would make it much worse.
>>
>> syscalls are cheap as well.
>> cheaper than decades of dealing with such multiplexer mess ;/
> 
> Well, I'd agree, except the clone flags really _are_ about multiplexer 
> issues, and the new flag woudln't really change anything. 
> 
> If the new system call actually had appreciably separate code-paths, I'd 
> buy the "multiplexer" argument. But it doesn't really. It's going to call 
> down to the same basic clone functionality, and the core clone code ends 
> up de-multiplexing the cases anyway.
> 
> So this would not at all be like the socket calls (to pick the traditional 
> Linux system call multiplexing example) in that sense.
> 

That's not the main issue here, though.  The main issue is that the
prototype of the function now depends on one of its arguments, which is
absolute hell for anything that needs to thunk arguments in a systematic
way, which we have to do on several architectures, and which would be
useful to be able to do for others, too.

	-hpa


  parent reply	other threads:[~2009-09-29 20:02 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-24 16:55 [RFC][v7][PATCH 0/9] Implement clone2() system call Sukadev Bhattiprolu
2009-09-24 17:00 ` [RFC][v7][PATCH 1/9]: Factor out code to allocate pidmap page Sukadev Bhattiprolu
2009-09-24 17:00 ` [RFC][v7][PATCH 2/9]: Have alloc_pidmap() return actual error code Sukadev Bhattiprolu
2009-09-24 17:01 ` [RFC][v7][PATCH 3/9] Make pid_max a pid_ns property Sukadev Bhattiprolu
     [not found]   ` <20090924170109.GC16989-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 17:45     ` Oren Laadan
2009-09-24 17:45   ` Oren Laadan
2009-09-24 17:01 ` [RFC][v7][PATCH 4/9]: Add target_pid parameter to alloc_pidmap() Sukadev Bhattiprolu
     [not found]   ` <20090924170131.GD16989-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 17:47     ` Oren Laadan
2009-09-24 17:47   ` Oren Laadan
2009-09-24 17:01 ` [RFC][v7][PATCH 5/9]: Add target_pids parameter to alloc_pid() Sukadev Bhattiprolu
2009-09-24 17:02 ` [RFC][v7][PATCH 6/9]: Add target_pids parameter to copy_process() Sukadev Bhattiprolu
2009-09-24 17:02 ` [RFC][v7][PATCH 7/9]: Define do_fork_with_pids() Sukadev Bhattiprolu
     [not found] ` <20090924165548.GA16586-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 17:00   ` [RFC][v7][PATCH 1/9]: Factor out code to allocate pidmap page Sukadev Bhattiprolu
2009-09-24 17:00   ` [RFC][v7][PATCH 2/9]: Have alloc_pidmap() return actual error code Sukadev Bhattiprolu
2009-09-24 17:01   ` [RFC][v7][PATCH 3/9] Make pid_max a pid_ns property Sukadev Bhattiprolu
2009-09-24 17:01   ` [RFC][v7][PATCH 4/9]: Add target_pid parameter to alloc_pidmap() Sukadev Bhattiprolu
2009-09-24 17:01   ` [RFC][v7][PATCH 5/9]: Add target_pids parameter to alloc_pid() Sukadev Bhattiprolu
2009-09-24 17:02   ` [RFC][v7][PATCH 6/9]: Add target_pids parameter to copy_process() Sukadev Bhattiprolu
2009-09-24 17:02   ` [RFC][v7][PATCH 7/9]: Define do_fork_with_pids() Sukadev Bhattiprolu
2009-09-24 17:03   ` [RFC][v7][PATCH 8/9]: Define clone2() syscall Sukadev Bhattiprolu
2009-09-24 17:03   ` [RFC][v7][PATCH 9/9]: Document " Sukadev Bhattiprolu
2009-09-24 17:44   ` [RFC][v7][PATCH 0/9] Implement clone2() system call Oren Laadan
2009-09-24 17:57   ` Alexey Dobriyan
2009-09-24 17:03 ` [RFC][v7][PATCH 8/9]: Define clone2() syscall Sukadev Bhattiprolu
2009-09-24 21:43   ` Arnd Bergmann
     [not found]     ` <200909242343.59903.arnd-r2nGTMty4D4@public.gmane.org>
2009-09-25  8:23       ` Louis Rilling
2009-09-25  8:23     ` Louis Rilling
2009-09-25 10:56       ` Louis Rilling
     [not found]         ` <20090925105632.GG12824-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2009-09-29 18:05           ` Sukadev Bhattiprolu
2009-09-29 18:05           ` Sukadev Bhattiprolu
2009-09-29 18:05             ` Sukadev Bhattiprolu
     [not found]             ` <20090929180537.GD4625-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-29 18:40               ` Roland McGrath
2009-09-29 18:40                 ` Roland McGrath
     [not found]                 ` <20090929184023.532DF34-nL1rrgvulkc2UH6IwYuUx0EOCMrvLtNR@public.gmane.org>
2009-09-29 18:44                   ` H. Peter Anvin
2009-09-29 18:44                     ` H. Peter Anvin
     [not found]                     ` <4AC255A4.4030002-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-09-29 19:02                       ` Arjan van de Ven
2009-09-29 19:02                         ` Arjan van de Ven
     [not found]                         ` <20090929210207.247b94df-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-09-29 19:10                           ` Linus Torvalds
2009-09-29 19:10                             ` Linus Torvalds
     [not found]                             ` <alpine.LFD.2.01.0909291207410.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-09-29 20:02                               ` H. Peter Anvin
2009-09-29 20:02                               ` H. Peter Anvin [this message]
2009-09-29 20:02                                 ` H. Peter Anvin
     [not found]                                 ` <4AC267C7.4070300-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-09-29 22:11                                   ` Linus Torvalds
2009-09-29 22:11                                     ` Linus Torvalds
     [not found]                                     ` <alpine.LFD.2.01.0909291501530.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-09-29 22:19                                       ` H. Peter Anvin
2009-09-29 22:19                                       ` H. Peter Anvin
2009-09-29 22:19                                         ` H. Peter Anvin
     [not found]                                         ` <4AC287F2.8060603-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-09-30 16:15                                           ` Arnd Bergmann
2009-09-30 16:15                                             ` Arnd Bergmann
     [not found]                                             ` <200909301815.45211.arnd-r2nGTMty4D4@public.gmane.org>
2009-09-30 16:27                                               ` Linus Torvalds
2009-09-30 16:27                                                 ` Linus Torvalds
     [not found]                                                 ` <alpine.LFD.2.01.0909300925170.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-09-30 17:59                                                   ` Arnd Bergmann
2009-09-30 17:59                                                     ` Arnd Bergmann
     [not found]                                                     ` <200909301959.41706.arnd-r2nGTMty4D4@public.gmane.org>
2009-09-30 19:14                                                       ` Linus Torvalds
2009-09-30 19:14                                                         ` Linus Torvalds
2009-09-30 19:14                                                       ` Linus Torvalds
2009-09-30 16:15                                           ` Arnd Bergmann
2009-09-30  6:48                                       ` Roland McGrath
2009-09-30  6:48                                         ` Roland McGrath
2009-09-30  6:48                                       ` Roland McGrath
2009-09-29 19:10                           ` Linus Torvalds
2009-09-29 20:00                           ` H. Peter Anvin
2009-09-29 20:00                         ` H. Peter Anvin
2009-09-29 18:44                   ` H. Peter Anvin
2009-09-29 18:40               ` Roland McGrath
2009-09-29 21:58               ` Oren Laadan
2009-09-29 21:58                 ` Oren Laadan
2009-09-29 21:58               ` Oren Laadan
2009-09-25 10:56       ` Louis Rilling
     [not found]   ` <20090924170308.GH16989-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 21:43     ` Arnd Bergmann
2009-09-24 17:03 ` [RFC][v7][PATCH 9/9]: Document " Sukadev Bhattiprolu
     [not found]   ` <20090924170331.GI16989-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 18:05     ` Randy Dunlap
2009-09-25  2:31     ` KOSAKI Motohiro
2009-09-24 18:05   ` Randy Dunlap
2009-09-25  2:31   ` KOSAKI Motohiro
2009-09-24 17:44 ` [RFC][v7][PATCH 0/9] Implement clone2() system call Oren Laadan
2009-09-24 20:15   ` Sukadev Bhattiprolu
2009-09-24 22:06     ` Oren Laadan
     [not found]       ` <4ABBED72.9080901-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-09-24 22:21         ` Arnd Bergmann
2009-09-24 22:21       ` Arnd Bergmann
2009-09-24 23:19         ` Oren Laadan
     [not found]         ` <200909250021.03535.arnd-r2nGTMty4D4@public.gmane.org>
2009-09-24 23:19           ` Oren Laadan
     [not found]     ` <20090924201517.GA24786-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-24 22:06       ` Oren Laadan
2009-10-01  2:36   ` Sukadev Bhattiprolu
     [not found]     ` <20091001023618.GA31344-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-01 15:19       ` Oren Laadan
2009-10-01 15:19     ` Oren Laadan
     [not found]   ` <4ABBAFE5.2000704-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-09-24 20:15     ` Sukadev Bhattiprolu
2009-10-01  2:36     ` Sukadev Bhattiprolu
2009-09-24 17:57 ` Alexey Dobriyan
2009-09-24 18:35   ` Serge E. Hallyn
     [not found]     ` <20090924183556.GA31356-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-30  5:34       ` Alexey Dobriyan
2009-09-30  5:34     ` Alexey Dobriyan
2009-09-30 17:41       ` Oren Laadan
2009-09-30 17:41       ` Oren Laadan
2009-10-02 20:27         ` Alexey Dobriyan
2009-10-02 21:06           ` Oren Laadan
2009-10-02 21:06           ` Oren Laadan
     [not found]         ` <4AC39859.3090703-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-02 20:27           ` Alexey Dobriyan
2009-09-24 18:35   ` Serge E. Hallyn

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=4AC267C7.4070300@zytor.com \
    --to=hpa-ymnouzjc4hwavxtiumwx3w@public.gmane.org \
    --cc=adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=arjan-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=kosaki.motohiro-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-X9Un+BFzKDI@public.gmane.org \
    --cc=nathanl-V7BBcbaFuwjMbYB6QlFGEg@public.gmane.org \
    --cc=roland-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.