From: Nathan Lynch <ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
To: Oren Laadan <orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
Cc: containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org
Subject: Re: build breaks when checkpoint unimplemented by arch
Date: Tue, 07 Jul 2009 11:31:15 -0500 [thread overview]
Message-ID: <m33a98v4j0.fsf@pobox.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0907071049540.24765-CXF6herHY6ykSYb+qCZC/1i27PF6R63G9nwVQlTi/Pw@public.gmane.org> (Oren Laadan's message of "Tue\, 7 Jul 2009 10\:58\:26 -0400 \(EDT\)")
Oren Laadan <orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> writes:
> On Tue, 7 Jul 2009, Nathan Lynch wrote:
>
>> Oren Laadan <orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> writes:
>> > That's what I tried initially, but the problem is that sigset_t may
>> > be defined differently for userspace - see /usr/include/asm/sigset_t.h.
>> > In fact, for x86_32, it it is different, defined as 'unsigned long'
>> > (and NSIG defined as 32, so only 32 bits).
>>
>> I noticed this, but I figured only the kernel definition was salient.
>> Apart from debugging checkpoint/restart, why would userspace need the
>> definition of struct ckpt_hdr_sigset?
>
> I expect user space tools to at least:
>
> - Assist in debugging c/r
>
> - Assist users in reporting problems with c/r (especially since they
> themselves do not debug or hack)
>
> - Convert checkpoint images from one kernel version to another
>
> - Provide information about a checkpoint image, and even allow its
> manipulation. This can assist developers in debugging their programs
> (e.g. to debug a crash you need to run a program for 30 minutes so it
> ets up its state; instead of repeatedly running it, you run it once,
> checkpoint, and then debug from a restarted version. A tool could
> allow you to peek/poke inside the checkpoint and even modify data in
> it).
>
> - Or a tool that converts a checkpoint image to a core dump so it
> can be inspected with gdb.
>
> I'm pretty sure others will find other uses to it...
But I asked specifically about ckpt_hdr_sigset.
>> For that matter, why would userspace need the definitions of most of the
>> structures in checkpoint_hdr.h? (Again, debugging purposes don't count:
>> ckptinfo or similar developer utilities can be included with the
>> kernel.)
>
> Keeping the checkpoint header format understandable by user space (and
> immune to 32-64 variations) has been a requirement since day 1.
I guess I wasn't around that day. It seems backwards to expose the
format of every checkpoint record in the ABI regardless of whether
plausible use cases exist. Linux has a well-established pattern of
introducing interfaces without sufficient testing or documentation[1],
and I expect C/R will adhere to tradition. Making the ABI obese in the
hope of anticipating every conceivable use will just provide more
opportunities to screw up.
[1] http://userweb.kernel.org/~mtk/papers/lce2007/What_we_lose_without_words.pdf
next prev parent reply other threads:[~2009-07-07 16:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-06 21:06 build breaks when checkpoint unimplemented by arch Nathan Lynch
[not found] ` <m3my7hv7w8.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-07-06 23:04 ` Oren Laadan
[not found] ` <Pine.LNX.4.64.0907061902530.15941-CXF6herHY6ykSYb+qCZC/1i27PF6R63G9nwVQlTi/Pw@public.gmane.org>
2009-07-06 23:29 ` Serge E. Hallyn
2009-07-06 23:54 ` Nathan Lynch
[not found] ` <m3bpnxv03k.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-07-07 4:44 ` Oren Laadan
[not found] ` <Pine.LNX.4.64.0907070039360.22105-CXF6herHY6ykSYb+qCZC/1i27PF6R63G9nwVQlTi/Pw@public.gmane.org>
2009-07-07 6:22 ` Nathan Lynch
[not found] ` <m2eist3tcr.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-07-07 14:58 ` Oren Laadan
[not found] ` <Pine.LNX.4.64.0907071049540.24765-CXF6herHY6ykSYb+qCZC/1i27PF6R63G9nwVQlTi/Pw@public.gmane.org>
2009-07-07 16:31 ` Nathan Lynch [this message]
[not found] ` <m33a98v4j0.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-07-07 19:03 ` Oren Laadan
2009-07-07 13:33 ` Serge E. Hallyn
[not found] ` <20090707133335.GA7686-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-07 14:59 ` Oren Laadan
[not found] ` <Pine.LNX.4.64.0907071058340.24765-CXF6herHY6ykSYb+qCZC/1i27PF6R63G9nwVQlTi/Pw@public.gmane.org>
2009-07-07 15:06 ` 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=m33a98v4j0.fsf@pobox.com \
--to=ntl-e+axbwqsrlaavxtiumwx3w@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=orenl-eQaUEPhvms7ENvBUuze7eA@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox