All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: Oren Laadan <orenl@cs.columbia.edu>,
	containers@lists.linux-foundation.org,
	Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, arnd@arndb.de
Subject: Re: [RFC][PATCH 2/2] first callers of process_deny_checkpoint()
Date: Thu, 9 Oct 2008 14:43:50 -0500	[thread overview]
Message-ID: <20081009194350.GA31214@us.ibm.com> (raw)
In-Reply-To: <20081009190406.1B257119@kernel>

Quoting Dave Hansen (dave@linux.vnet.ibm.com):
> 
> These are just a few simple examples of things we know we can't
> checkpoint now.  There are plenty more, but this should give
> everyone an idea how this will look in practice.
> 
> 
> Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
> ---
> 
>  linux-2.6.git-dave/fs/aio.c     |    7 +++++++
>  linux-2.6.git-dave/ipc/mqueue.c |    3 +++
>  linux-2.6.git-dave/net/socket.c |    5 +++++
>  3 files changed, 15 insertions(+)
> 
> diff -puN fs/aio.c~no-checkpointing-for-sockets fs/aio.c
> --- linux-2.6.git/fs/aio.c~no-checkpointing-for-sockets	2008-10-09 11:56:58.000000000 -0700
> +++ linux-2.6.git-dave/fs/aio.c	2008-10-09 11:56:58.000000000 -0700
> @@ -19,6 +19,7 @@
> 
>  #define DEBUG 0
> 
> +#include <linux/checkpoint.h>
>  #include <linux/sched.h>
>  #include <linux/fs.h>
>  #include <linux/file.h>
> @@ -1663,6 +1664,8 @@ asmlinkage long sys_io_submit(aio_contex
>  	if (unlikely(!access_ok(VERIFY_READ, iocbpp, (nr*sizeof(*iocbpp)))))
>  		return -EFAULT;
> 
> +	process_deny_checkpointing(current);
> +
>  	ctx = lookup_ioctx(ctx_id);
>  	if (unlikely(!ctx)) {
>  		pr_debug("EINVAL: io_submit: invalid context id\n");
> @@ -1742,6 +1745,8 @@ asmlinkage long sys_io_cancel(aio_contex
>  	if (unlikely(!ctx))
>  		return -EINVAL;
> 
> +	process_deny_checkpointing(current);
> +
>  	spin_lock_irq(&ctx->ctx_lock);
>  	ret = -EAGAIN;
>  	kiocb = lookup_kiocb(ctx, iocb, key);
> @@ -1796,6 +1801,8 @@ asmlinkage long sys_io_getevents(aio_con
>  	struct kioctx *ioctx = lookup_ioctx(ctx_id);
>  	long ret = -EINVAL;
> 
> +	process_deny_checkpointing(current);

Hmm, I don't know too much about aio, but is it possible to succeed with
io_getevents if we didn't first do a submit?  It looks like the contexts
are looked up out of current->mm, so I don't think we need this call
here.

Otherwise, this is neat.

-serge

> +
>  	if (likely(ioctx)) {
>  		if (likely(min_nr <= nr && min_nr >= 0 && nr >= 0))
>  			ret = read_events(ioctx, min_nr, nr, events, timeout);
> diff -puN ipc/mqueue.c~no-checkpointing-for-sockets ipc/mqueue.c
> --- linux-2.6.git/ipc/mqueue.c~no-checkpointing-for-sockets	2008-10-09 11:56:58.000000000 -0700
> +++ linux-2.6.git-dave/ipc/mqueue.c	2008-10-09 11:56:58.000000000 -0700
> @@ -14,6 +14,7 @@
>   */
> 
>  #include <linux/capability.h>
> +#include <linux/checkpoint.h>
>  #include <linux/init.h>
>  #include <linux/pagemap.h>
>  #include <linux/file.h>
> @@ -655,6 +656,8 @@ asmlinkage long sys_mq_open(const char _
>  	char *name;
>  	int fd, error;
> 
> +	process_deny_checkpointing(current);
> +
>  	error = audit_mq_open(oflag, mode, u_attr);
>  	if (error != 0)
>  		return error;
> diff -puN net/socket.c~no-checkpointing-for-sockets net/socket.c
> --- linux-2.6.git/net/socket.c~no-checkpointing-for-sockets	2008-10-09 11:56:58.000000000 -0700
> +++ linux-2.6.git-dave/net/socket.c	2008-10-09 11:56:58.000000000 -0700
> @@ -87,6 +87,7 @@
>  #include <linux/audit.h>
>  #include <linux/wireless.h>
>  #include <linux/nsproxy.h>
> +#include <linux/checkpoint.h>
> 
>  #include <asm/uaccess.h>
>  #include <asm/unistd.h>
> @@ -1236,6 +1237,8 @@ asmlinkage long sys_socket(int family, i
>  	if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK))
>  		flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK;
> 
> +	process_deny_checkpointing(current);
> +
>  	retval = sock_create(family, type, protocol, &sock);
>  	if (retval < 0)
>  		goto out;
> @@ -2130,6 +2133,8 @@ asmlinkage long sys_socketcall(int call,
>  	a0 = a[0];
>  	a1 = a[1];
> 
> +	process_deny_checkpointing(current);
> +
>  	switch (call) {
>  	case SYS_SOCKET:
>  		err = sys_socket(a0, a1, a[2]);
> _
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers

  parent reply	other threads:[~2008-10-09 19:44 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09 19:04 [RFC][PATCH 1/2] Track in-kernel when we expect checkpoint/restart to work Dave Hansen
2008-10-09 19:04 ` [RFC][PATCH 2/2] first callers of process_deny_checkpoint() Dave Hansen
2008-10-09 19:04 ` Dave Hansen
2008-10-09 19:43   ` Serge E. Hallyn
2008-10-09 19:43   ` Serge E. Hallyn [this message]
2008-10-09 20:54     ` Dave Hansen
2008-10-10  8:46       ` Ingo Molnar
2008-10-10  8:46         ` Ingo Molnar
2008-10-10 13:17         ` Rafael J. Wysocki
2008-10-10 14:54           ` Ingo Molnar
     [not found]             ` <20081010145422.GE11695-X9Un+BFzKDI@public.gmane.org>
2008-10-10 19:53               ` Rafael J. Wysocki
2008-10-10 19:53             ` Rafael J. Wysocki
2008-10-10 19:53               ` Ingo Molnar
     [not found]                 ` <20081010195339.GA509-X9Un+BFzKDI@public.gmane.org>
2008-10-10 20:40                   ` Len Brown
2008-10-10 22:57                   ` Rafael J. Wysocki
2008-10-10 20:40                 ` Len Brown
2008-10-10 22:57                 ` Rafael J. Wysocki
     [not found]               ` <200810102153.45174.rjw-KKrjLPT3xs0@public.gmane.org>
2008-10-10 19:53                 ` Ingo Molnar
     [not found]           ` <200810101517.17809.rjw-KKrjLPT3xs0@public.gmane.org>
2008-10-10 14:54             ` Ingo Molnar
     [not found]         ` <20081010084614.GA319-X9Un+BFzKDI@public.gmane.org>
2008-10-10 13:17           ` Rafael J. Wysocki
2008-10-11 13:48           ` Pavel Machek
2008-10-11 13:48         ` Pavel Machek
     [not found]           ` <20081011134803.GA1483-+ZI9xUNit7I@public.gmane.org>
2008-10-11 15:00             ` Ingo Molnar
2008-10-11 15:00           ` Ingo Molnar
2008-10-10 10:27       ` Cedric Le Goater
2008-10-10 10:27       ` Cedric Le Goater
     [not found]     ` <20081009194350.GA31214-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-09 20:54       ` Dave Hansen
2008-10-10  8:41   ` Daniel Lezcano
2008-10-10  8:41   ` Daniel Lezcano
2008-10-10 10:17   ` Cedric Le Goater
2008-10-10 14:04     ` Serge E. Hallyn
2008-10-10 16:45       ` Greg Kurz
     [not found]         ` <1223657132.10017.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-10-10 17:13           ` Serge E. Hallyn
2008-10-10 17:28           ` Dave Hansen
2008-10-10 17:13         ` Serge E. Hallyn
2008-10-10 17:28         ` Dave Hansen
2008-10-13  8:20           ` Greg Kurz
2008-10-13  8:20           ` Greg Kurz
     [not found]       ` <20081010140430.GA14640-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-10 16:45         ` Greg Kurz
     [not found]     ` <48EF2BAB.1010009-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-10 14:04       ` Serge E. Hallyn
2008-10-10 10:17   ` Cedric Le Goater
2008-10-10  8:20 ` [RFC][PATCH 1/2] Track in-kernel when we expect checkpoint/restart to work Greg Kurz
2008-10-10  8:37   ` Daniel Lezcano
2008-10-10 10:11     ` Oren Laadan
     [not found]     ` <48EF144D.1050906-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-10  8:47       ` Greg Kurz
2008-10-10  8:47         ` Greg Kurz
2008-10-10 10:11       ` Oren Laadan
2008-10-10 14:59       ` Ingo Molnar
2008-10-10 16:33       ` Dave Hansen
2008-10-10 16:33         ` Dave Hansen
2008-10-10 14:59     ` Ingo Molnar
     [not found]       ` <20081010145934.GF11695-X9Un+BFzKDI@public.gmane.org>
2008-10-10 15:17         ` Oren Laadan
2008-10-10 15:17       ` Oren Laadan
     [not found]         ` <48EF7211.2000303-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-10 15:28           ` Ingo Molnar
2008-10-10 16:34           ` Greg Kurz
2008-10-10 15:28         ` Ingo Molnar
2008-10-10 16:34         ` Greg Kurz
     [not found]           ` <1223656489.10017.33.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-10-10 16:36             ` Dave Hansen
2008-10-10 16:36               ` Dave Hansen
2008-10-10 20:57               ` Daniel Lezcano
2008-10-10 20:57               ` Daniel Lezcano
2008-10-10 17:18             ` Chris Friesen
2008-10-10 17:18           ` Chris Friesen
2008-10-13  8:18             ` Greg Kurz
2008-10-13 16:46               ` Serge E. Hallyn
     [not found]               ` <1223885897.4404.5.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-10-13 16:46                 ` Serge E. Hallyn
     [not found]             ` <48EF8E77.8050000-ZIRUuHA3oDzQT0dZR+AlfA@public.gmane.org>
2008-10-13  8:18               ` Greg Kurz
     [not found]   ` <1223626834.8787.8.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-10-10  8:37     ` Daniel Lezcano
2008-10-10  8:20 ` Greg Kurz

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=20081009194350.GA31214@us.ibm.com \
    --to=serue@us.ibm.com \
    --cc=arnd@arndb.de \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=orenl@cs.columbia.edu \
    /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.