All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
To: sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org
Cc: "David C. Hansen"
	<haveblue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org,
	Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
	Paul Menage <menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH 0/3] clone64() and unshare64() system calls
Date: Thu, 10 Apr 2008 11:31:41 -0700	[thread overview]
Message-ID: <47FE5D0D.5090404@zytor.com> (raw)
In-Reply-To: <20080410182616.GF28477-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org wrote:
> | 
> | I thought that the consensus was that adding a new system call was
> | better than trying to force extensibility on to the existing
> | non-extensible system call.
> 
> There were couple of objections to extensible system calls like
> sys_indirect() and to Pavel's approach.
> 

This is a very different thing, though.  sys_indirect is pretty much a 
mechanism for having a sideband channel -- a second ABI -- into each and 
every system call, making it extremely hard to analyze what the full set 
of impact of a specific system call is.  Worse, as it was being proposed 
to have been used, it would have set state variables inside the kernel 
in a very opaque manner.

> | But if we are adding a new system call, why not make the new one
> | extensible to reduce the need for yet another new call in the future?
> 
> hypothetically, can we make a variant of clone() extensible to the point
> of requiring a copy_from_user() ?

The only issue is whether or not it's acceptable from a performance 
standpoint.  clone() is reasonably expensive, though.

	-hpa

WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com>
To: sukadev@us.ibm.com
Cc: Paul Menage <menage@google.com>, Andrew Morton <akpm@osdl.org>,
	clg@fr.ibm.com, serue@us.ibm.com,
	"David C. Hansen" <haveblue@us.ibm.com>,
	Pavel Emelyanov <xemul@openvz.org>,
	Containers <containers@lists.osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] clone64() and unshare64() system calls
Date: Thu, 10 Apr 2008 11:31:41 -0700	[thread overview]
Message-ID: <47FE5D0D.5090404@zytor.com> (raw)
In-Reply-To: <20080410182616.GF28477@us.ibm.com>

sukadev@us.ibm.com wrote:
> | 
> | I thought that the consensus was that adding a new system call was
> | better than trying to force extensibility on to the existing
> | non-extensible system call.
> 
> There were couple of objections to extensible system calls like
> sys_indirect() and to Pavel's approach.
> 

This is a very different thing, though.  sys_indirect is pretty much a 
mechanism for having a sideband channel -- a second ABI -- into each and 
every system call, making it extremely hard to analyze what the full set 
of impact of a specific system call is.  Worse, as it was being proposed 
to have been used, it would have set state variables inside the kernel 
in a very opaque manner.

> | But if we are adding a new system call, why not make the new one
> | extensible to reduce the need for yet another new call in the future?
> 
> hypothetically, can we make a variant of clone() extensible to the point
> of requiring a copy_from_user() ?

The only issue is whether or not it's acceptable from a performance 
standpoint.  clone() is reasonably expensive, though.

	-hpa

  parent reply	other threads:[~2008-04-10 18:31 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-09 22:26 [PATCH 0/3] clone64() and unshare64() system calls sukadev
2008-04-09 22:32 ` [PATCH 1/3] change clone_flags type to u64 sukadev
2008-04-10  8:25   ` Andi Kleen
2008-04-10 12:25     ` Cedric Le Goater
2008-04-10 12:52       ` Andi Kleen
     [not found]         ` <20080410125205.GG10019-qrUzlfsMFqo/4alezvVtWx2eb7JE58TQ@public.gmane.org>
2008-04-10 13:11           ` Kirill Korotaev
2008-04-10 13:11             ` Kirill Korotaev
2008-04-10 13:23             ` Cedric Le Goater
2008-04-10 13:18         ` Cedric Le Goater
2008-04-10 17:14         ` Serge E. Hallyn
2008-04-10 22:13           ` Daniel Hokka Zakrisson
2008-04-10 22:49             ` Serge E. Hallyn
2008-04-11  8:45               ` Daniel Hokka Zakrisson
2008-04-11  8:45                 ` Daniel Hokka Zakrisson
2008-04-09 22:34 ` [PATCH 2/3] add do_unshare() sukadev
2008-04-09 22:34 ` [PATCH 3/3] add the clone64() and unshare64() syscalls sukadev
     [not found]   ` <20080409223459.GC28267-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-04-09 23:07     ` Jakub Jelinek
2008-04-09 23:07       ` Jakub Jelinek
2008-04-10  2:15       ` sukadev
     [not found]         ` <20080410021523.GB28477-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-04-10  3:40           ` H. Peter Anvin
2008-04-10  3:40             ` H. Peter Anvin
     [not found] ` <20080409222611.GA28087-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-04-10  0:00   ` [PATCH 0/3] clone64() and unshare64() system calls H. Peter Anvin
2008-04-10  0:00     ` H. Peter Anvin
2008-04-10  1:07     ` sukadev
     [not found]       ` <20080410010717.GA28477-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-04-10  1:10         ` H. Peter Anvin
2008-04-10  1:10           ` H. Peter Anvin
2008-04-10  2:38           ` sukadev
2008-04-10  2:43             ` Paul Menage
2008-04-10 18:26               ` sukadev
     [not found]                 ` <20080410182616.GF28477-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-04-10 18:31                   ` H. Peter Anvin [this message]
2008-04-10 18:31                     ` H. Peter Anvin
2008-04-10 12:33           ` Cedric Le Goater
     [not found]             ` <47FE0906.8080102-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-04-10 16:00               ` H. Peter Anvin
2008-04-10 16:00                 ` H. Peter Anvin
2008-04-10  6:48     ` Cedric Le Goater

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=47FE5D0D.5090404@zytor.com \
    --to=hpa-ymnouzjc4hwavxtiumwx3w@public.gmane.org \
    --cc=clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
    --cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
    --cc=haveblue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=sukadev-r/Jw6+rmf7HQT0dZR+AlfA@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.