[cr][git]linux-cr branch, ckpt-v17-dev, updated. v2.6.27-rc5-46194-g1344cd0

orenl at cs.columbia.edu orenl at cs.columbia.edu
Tue Aug 18 12:00:02 PDT 2009

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "linux-cr".

The branch, ckpt-v17-dev has been updated
       via  1344cd02706d6730ea7168c2f5f5681026e86213 (commit)
       via  d928bdf97a9dafa55f78fc1d6156bfb03f398079 (commit)
       via  6bc04e6cc46dd7e6f68cafcd2b0d91ff4c151c9d (commit)
       via  67dfd223054db933da405a2c7bc2eb75d0dee386 (commit)
       via  eb1d2d53921e5fd063fbe74e84d80663425ff9ff (commit)
       via  06f46a8a47416dff631e219802503319fbe4c951 (commit)
       via  6746319e53bf943002054cd9baad2dba42438a66 (commit)
       via  1012f279b7536cd2670ecea48c388c65ed9900ec (commit)
       via  6110b587a471fba2a065df61d7068a28167a9721 (commit)
      from  e861b44b93a6e14571bcc2f9d68b46ca8c44a734 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1344cd02706d6730ea7168c2f5f5681026e86213
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:15:20 2009 -0400

    c/r: [signal 4/4] support for real/virt/prof itimers
    This patch adds support for real/virt/prof itimers.
    Expiry and the interval values are both saved in nanoseconds.
      - [Louis Rilling] Fix saving of signal->it_real_incr if not expired
      - Fix restoring of signal->it_real_incr if expire is zero
      - Save virt/prof expire relative to process accumulated time
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit d928bdf97a9dafa55f78fc1d6156bfb03f398079
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:15:20 2009 -0400

    c/r: [signal 3/4] pending signals (private, shared)
    This patch adds checkpoint and restart of pending signals queues:
    struct sigpending, both per-task t->sigpending and shared (per-
    thread-group) t->signal->shared_sigpending.
    To checkpoint pending signals (private/shared) we first detach the
    signal queue (and copy the mask) to a separate struct sigpending.
    This separate structure can be iterated through without locking.
    Once the state is saved, we re-attaches (prepends) the original signal
    queue back to the original struct sigpending.
    Signals that arrive(d) in the meantime will be suitably queued after
    these (for real-time signals). Repeated non-realtime signals will not
    be queued because they will already be marked in the pending mask,
    that remains as is. This is the expected behavior of non-realtime
    Changelog [v3]:
      - [Dan Smith] Sanity check for number of pending signals in buffer
    Changelog [v2]:
      - Validate si_errno from checkpoint image
    Changelog [v1]:
      - Fix compilation warnings
      - [Louis Rilling] Remove SIGQUEUE_PREALLOC flag from queued signals
      - [Louis Rilling] Fail if task has posix-timers or SI_TIMER signal
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 6bc04e6cc46dd7e6f68cafcd2b0d91ff4c151c9d
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:15:18 2009 -0400

    c/r: [signal 2/4] checkpoint/restart of rlimit
    This patch adds checkpoint and restart of rlimit information
    that is part of shared signal_struct.
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 67dfd223054db933da405a2c7bc2eb75d0dee386
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:15:09 2009 -0400

    c/r: [signal 1/4] blocked and template for shared signals
    This patch adds checkpoint/restart of blocked signals mask
    (t->blocked) and a template for shared signals (t->signal).
    Because t->signal sharing is tied to threads, we ensure proper sharing
    of t->signal (struct signal_struct) for threads only.
    Access to t->signal is protected by locking t->sighand->lock.
    Therefore, the usual checkpoint_obj() invoking the callback
    checkpoint_signal(ctx, signal) is insufficient because the task
    pointer is unavailable.
    Instead, handling of t->signal sharing is explicit using helpers
    like ckpt_obj_lookup_add(), ckpt_obj_fetch() and ckpt_obj_insert().
    The actual state is saved (if needed) _after_ the task_objs data.
    To prevent tasks from handling restored signals during restart,
    set their mask to block all signals and only restore the original
    mask at the very end (before the last sync point).
    Introduce per-task pointer 'ckpt_data' to temporary store data
    for restore actions that are deferred to the end (like restoring
    the signal block mask).
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit eb1d2d53921e5fd063fbe74e84d80663425ff9ff
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:15:08 2009 -0400

    c/r: invoke set_close_on_exec() unconditionally on restart
    When restoring a file descriptor (restore_file_desc), make the call to
    set_close_on_exec() not only to set the flags, but also to unset it.
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 06f46a8a47416dff631e219802503319fbe4c951
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:14:43 2009 -0400

    c/r: cleanup - follow naming conventions
    More cleanup of the sockets c/r code. Now that we use the methods from
    struct proto_ops (checkpoint,restore), we no longer need the prefix
    "sock_unix_..." for function names in net/unix/checkpoint.c; Instead
    we follow the convention (e.g. in net/unix/afunix.c) "unix_...".
    Speaking about code conventions, it is also customary to use 'sock'
    for a struct socket, and a 'sk' for struct sock. This patch also makes
    changes accordingly where necessary.
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 6746319e53bf943002054cd9baad2dba42438a66
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:14:39 2009 -0400

    c/r: add checkpoint/restore methods to struct proto_ops
    This patch adds checkpoint and restore methods to struct proto_ops
    which should allow compilation of af-unix sockets as a module. It also
    simplifies the code.
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 1012f279b7536cd2670ecea48c388c65ed9900ec
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Aug 18 13:14:29 2009 -0400

    c/r: cleanup sock_file_restore()/sock_file_checkpoint()
    This patch was intended to fix a compilation warning regarding the
    checkpoint/files.c: At top level:
    checkpoint/files.c:573: warning: initialization from incompatible pointer type
    and evolved to some cleanup of that code, making the following changes:
    * Make ckpt_hdr_socket be part of ckpt_hdr_file_socket; There is no
      good reason to use a separate header for it. This saves write/read
      of an extra structure.
    * Fold do_sock_file_checkpoint() into sock_file_checkpoint(), and also
      do_sock_file_restore() into sock_file_restore(). This makes the code
      a bit simpler and more streamlined.
    * Move sock_file_{checkpoint,restore} to net/checkpoint.c, which is a
      more proper place than net/socket.c.
    * Properly define sock_file_{checkpoint,restore} in header file
    * Have sock_file_restore() call restore_file_common(), which was
      omitted previously.
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 6110b587a471fba2a065df61d7068a28167a9721
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Mon Aug 17 20:20:52 2009 -0400

    c/r: Improve debug output from ckpt_notify_error()
    Make ckpt_debug() report a more useful location than the
    line of some generic debug/error wrapper.
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>


Summary of changes:
 checkpoint/checkpoint.c        |    2 +
 checkpoint/files.c             |    4 +-
 checkpoint/objhash.c           |    7 +
 checkpoint/process.c           |   65 +++++-
 checkpoint/restart.c           |   14 +-
 checkpoint/signal.c            |  493 +++++++++++++++++++++++++++++++++++++++-
 include/linux/checkpoint.h     |    6 +
 include/linux/checkpoint_hdr.h |  176 ++++++++++-----
 include/linux/net.h            |    9 +
 include/linux/posix-timers.h   |    9 +
 include/linux/resource.h       |    4 +
 include/net/af_unix.h          |   33 +---
 include/net/sock.h             |   10 +-
 kernel/posix-cpu-timers.c      |    9 -
 kernel/sys.c                   |   36 ++-
 net/checkpoint.c               |  220 +++++++++++--------
 net/socket.c                   |   84 +-------
 net/unix/af_unix.c             |    6 +
 net/unix/checkpoint.c          |  153 ++++++-------
 19 files changed, 951 insertions(+), 389 deletions(-)


More information about the Containers mailing list