All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Stanislav Kinsbursky <skinsbursky@parallels.com>
Cc: serge.hallyn@canonical.com, criu@openvz.org,
	lucas.demarchi@profusion.mobi, linux-kernel@vger.kernel.org,
	cmetcalf@tilera.com, dhowells@redhat.com,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH 2/2] IPC: message queue stealing feature introduced
Date: Wed, 4 Apr 2012 16:12:24 -0700	[thread overview]
Message-ID: <20120404161224.dea67733.akpm@linux-foundation.org> (raw)
In-Reply-To: <20120215165439.27978.43513.stgit@localhost6.localdomain6>

On Wed, 15 Feb 2012 20:54:39 +0400
Stanislav Kinsbursky <skinsbursky@parallels.com> wrote:

> v2:
> 1) compat functions added.
> 2) message slot size in array is now aligned by struct msgbuf_a.
> 3) check for enough free space in buffer before message copying added.
> 4) if MSG_STEAL flag is set, then do_msgrcv() returns number of bytes written
> to buffer.
> 5) flag MSG_NOERROR is ignored if MSG_STEAL flag is set.
> 
> This patch is required for checkpoint/restore in userspace.
> IOW, c/r requires some way to get all pending IPC messages without deleting
> them for the queue (checkpoint can fail and in this case tasks will be resumed,
> so queue have to be valid).
> To achive this, new operation flag MSG_STEAL for sys_msgrcv() system call
> introduced.
> If this flag is set, then passed struct msgbuf pointer will be used for storing
> array of structures:
> 
> struct msgbuf_a {
> 	long mtype;         /* type of message */
> 	int msize;          /* size of message */
> 	char mtext[0];      /* message text */
> };
> 
> each of which will be followed by corresponding message data.
> 

I'd be a bit more comfortable if there was some sign that other c/r
developers have reviewed and tested this and have successfully used it
in c/r operation testing?

We've been trying to isolate the c/r-specific functions inside #ifdef
CONFIG_CHECKPOINT_RESTORE, but this patch doesn't do that.  I have been
encouraging this isolation so that people who aren't using c/r don't
have to carry the overhead it adds and so that we can more easily hunt
down and remove everything if the entire c/r project doesn't work out
successfully.

This patch modifies the sys_msgrcv() API and so we should update the
manpage for that syscall.  Please work with Michael on this.

What does all the compat fiddling actually do?  I guess it's needed for
checkpoint and restore of 32-bit userspace on 64-bit kernels?  Does c/r
as a whole support that?  It should.  How well tested is this?


  reply	other threads:[~2012-04-04 23:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-15 16:54 [PATCH 0/2] IPC: message queue checkpoint support Stanislav Kinsbursky
2012-02-15 16:54 ` [PATCH 1/2] IPC: message queue receive cleanup Stanislav Kinsbursky
2012-04-04 23:05   ` Andrew Morton
2012-04-04 23:39     ` Chris Metcalf
2012-02-15 16:54 ` [PATCH 2/2] IPC: message queue stealing feature introduced Stanislav Kinsbursky
2012-04-04 23:12   ` Andrew Morton [this message]
     [not found]     ` <20120404161224.dea67733.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-04-04 23:50       ` Michael Kerrisk (man-pages)
2012-04-04 23:50         ` Michael Kerrisk (man-pages)
2012-04-04 23:59         ` Michael Kerrisk
     [not found]         ` <CAKgNAkjpWpHR9Ww0JzZqsACktXzsm9r8=k6e7CJF_9+5cWdJBQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-04-05 11:42           ` Stanislav Kinsbursky
2012-04-05 11:42             ` Stanislav Kinsbursky
2012-04-05 10:53     ` Stanislav Kinsbursky
2012-03-05 13:04 ` [CRIU] [PATCH 0/2] IPC: message queue checkpoint support Kinsbursky Stanislav

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=20120404161224.dea67733.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=cmetcalf@tilera.com \
    --cc=criu@openvz.org \
    --cc=dhowells@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucas.demarchi@profusion.mobi \
    --cc=mtk.manpages@gmail.com \
    --cc=serge.hallyn@canonical.com \
    --cc=skinsbursky@parallels.com \
    /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.