From: Oren Laadan <orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
To: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: Re: [PATCH RFC] Send checkpoint and restart debug info to a log file (v2)
Date: Wed, 21 Oct 2009 18:03:43 -0400 [thread overview]
Message-ID: <4ADF853F.6080807@librato.com> (raw)
In-Reply-To: <20091021210507.GA2098-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Serge E. Hallyn wrote:
> Until now, debug data was sent to syslog. That's not really
> right.
>
> This patch sends ckpt_debug output to a logfile provided by
> the caller. If no logfile is provided, then no debug output
> is needed. So the user can pass in -1 for the logfd to say
> so.
I suggest to keep an option to write to the console/syslog too.
Otherwise we may lose important debug info if a nasty crash
occurs ...
>
> Note that this does not address the potential (inevitable?)
> lockup of writing out a debug msg while checkpointing the
> debug file. In practice so far it seems to work rather well.
> (with quite a bit of testing)
I believe the only concern here is that our debug code should
not write any debug info while the respective inode is locked.
>
> This also means that we have to be more careful than we have
> been about not writing out sensitive data.
>
> This is pure RFC, not meant to be pretty.
>
> The split into ckpt_debug and ckpt_err (see changelog) suggests
> that we should rearrange (and be more consistent about) how and
> when we print out debug info. Left as an exercise for later.
I hate homework...
Besides, I think we need to address it now. This patch is pretty
intrusive and will be painful when I fold to ckpt-v19. I do not
want to go through the process twice.
It's definitely time to come up with guidelines to when/where/how
to add debugging output, and when/where/how to add error output.
In the 'how' section, besides avoiding leaking sensitive data, I'd
like to come up with a canonical format that will be easy to read
and to parse automatically (improve over ckpt_write_err).
Hmm... ckpt_write_err() should change too -- be written to the log
instead.
>
> Changelog:
> Oct 21: split ckpt_debug into ckpt_debug and ckpt_err.
> Git rid of the split by memory debug info etc.
The split is useful to control the amount of log.
> Since userspace actively asks for debug info, I
> also made it not depend on CONFIG_CHECKPOINT_DEBUG.
> We may want to put it back again to limit kernel
> size, but for now it's a distraction, and I'm not
> convinced it makes sense
Then add CONFIG_CHECKPOINT_LOGGING ?
(automatically implied by CONFIG_CHECKPOINT_DEBUG)
>
> Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
> arch/s390/kernel/compat_wrapper.S | 2 +
> arch/x86/mm/checkpoint.c | 11 ++---
> checkpoint/checkpoint.c | 22 ++++----
> checkpoint/files.c | 29 +++++------
> checkpoint/memory.c | 43 ++++++++-------
> checkpoint/namespace.c | 3 -
> checkpoint/objhash.c | 33 +++++++------
> checkpoint/process.c | 85 +++++++++++++++----------------
> checkpoint/restart.c | 101 +++++++++++++++++--------------------
> checkpoint/signal.c | 5 +--
> checkpoint/sys.c | 94 ++++++++++++++++++++++------------
> drivers/char/tty_io.c | 22 ++++----
> include/linux/checkpoint.h | 85 ++++++++++++++++---------------
> include/linux/checkpoint_types.h | 5 +-
> include/linux/syscalls.h | 5 +-
> ipc/checkpoint.c | 13 ++---
> ipc/checkpoint_msg.c | 13 ++---
> ipc/checkpoint_sem.c | 13 ++---
> ipc/checkpoint_shm.c | 15 ++---
> kernel/cred.c | 2 +-
> lib/Kconfig.debug | 4 +-
> mm/filemap.c | 2 +-
> mm/shmem.c | 2 +-
> net/checkpoint.c | 46 ++++++++--------
> net/ipv4/checkpoint.c | 26 ++++-----
> net/unix/checkpoint.c | 65 +++++++++++++-----------
> 26 files changed, 380 insertions(+), 366 deletions(-)
Uhhh... when this matures from RFC to patch-for-inclusion, make
sure to split it nicely for me ... please.
Oren.
next prev parent reply other threads:[~2009-10-21 22:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-21 21:05 [PATCH RFC] Send checkpoint and restart debug info to a log file (v2) Serge E. Hallyn
[not found] ` <20091021210507.GA2098-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-21 21:05 ` [PATCH user-cr] Allow for logfile for kernel debug messages (v2) Serge E. Hallyn
[not found] ` <20091021210533.GA2165-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-21 21:46 ` Oren Laadan
[not found] ` <4ADF8140.3010102-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-21 22:02 ` Serge E. Hallyn
[not found] ` <20091021220245.GA8994-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2009-10-21 22:18 ` Oren Laadan
[not found] ` <4ADF88BD.20400-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-22 5:56 ` Matt Helsley
2009-10-22 5:48 ` Matt Helsley
[not found] ` <20091022054853.GC7757-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2009-10-23 18:59 ` Oren Laadan
2009-10-21 22:03 ` Oren Laadan [this message]
[not found] ` <4ADF853F.6080807-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-21 22:49 ` [PATCH RFC] Send checkpoint and restart debug info to a log file (v2) Serge E. Hallyn
[not found] ` <20091021224922.GA5827-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-21 23:14 ` Oren Laadan
[not found] ` <4ADF95D0.8060806-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-22 0:51 ` Serge E. Hallyn
[not found] ` <20091022005157.GA11608-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-22 6:04 ` Matt Helsley
[not found] ` <20091022060400.GE7757-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2009-10-23 18:48 ` Oren Laadan
[not found] ` <4AE1FA7A.5030702-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-23 20:06 ` Serge E. Hallyn
2009-10-26 21:52 ` Serge E. Hallyn
[not found] ` <20091026215238.GA10900-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-26 23:39 ` Oren Laadan
2009-10-22 18:25 ` 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=4ADF853F.6080807@librato.com \
--to=orenl-rdfvbdnroixbdgjk7y7tuq@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@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.