* [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n
@ 2009-10-22 14:32 Serge E. Hallyn
[not found] ` <20091022143238.GA31778-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Serge E. Hallyn @ 2009-10-22 14:32 UTC (permalink / raw)
To: Oren Laadan; +Cc: Linux Containers
On the one hand, compiling without checkpoing debug saves a
lot of kernel size:
with debug:
-rwxrwxr-x 1 hallyn hallyn 62391508 Oct 21 22:08 vmlinux
without debug:
-rwxrwxr-x 1 hallyn hallyn 62298077 Oct 21 22:33 vmlinux
OTOH the need for this patch just proves my point that we don't
want any more config options than we need (especially no
CONFIG_CHECKPOINT_LOGGING in addition to _DEBUG).
So that begs the question - is there something we can do to
avoid having to recompile the kernel to turn on debugging,
but not take up 100k of space in vmlinux? Maybe get rid of
the ckpt_debugs altogether and instead provide pre-written
kprobe sets to turn on debugging at specific places?
Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
checkpoint/restart.c | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/checkpoint/restart.c b/checkpoint/restart.c
index 32a9fc5..105dd0a 100644
--- a/checkpoint/restart.c
+++ b/checkpoint/restart.c
@@ -26,6 +26,15 @@
#include <linux/checkpoint.h>
#include <linux/checkpoint_hdr.h>
+#define RESTART_DBG_ROOT (1 << 0)
+#define RESTART_DBG_GHOST (1 << 1)
+#define RESTART_DBG_COORD (1 << 2)
+#define RESTART_DBG_TASK (1 << 3)
+#define RESTART_DBG_WAITING (1 << 4)
+#define RESTART_DBG_RUNNING (1 << 5)
+#define RESTART_DBG_EXITED (1 << 6)
+#define RESTART_DBG_FAILED (1 << 7)
+#define RESTART_DBG_SUCCESS (1 << 8)
#ifdef CONFIG_CHECKPOINT_DEBUG
@@ -44,15 +53,6 @@
struct ckpt_task_status {
pid_t pid;
-#define RESTART_DBG_ROOT (1 << 0)
-#define RESTART_DBG_GHOST (1 << 1)
-#define RESTART_DBG_COORD (1 << 2)
-#define RESTART_DBG_TASK (1 << 3)
-#define RESTART_DBG_WAITING (1 << 4)
-#define RESTART_DBG_RUNNING (1 << 5)
-#define RESTART_DBG_EXITED (1 << 6)
-#define RESTART_DBG_FAILED (1 << 7)
-#define RESTART_DBG_SUCCESS (1 << 8)
int flags;
int error;
struct list_head list;
@@ -178,7 +178,10 @@ void restore_debug_free(struct ckpt_ctx *ctx)
#else
-static inline void restore_debug_task(struct ckpt_ctx *ctx, int flags) {}
+static inline int restore_debug_task(struct ckpt_ctx *ctx, int flags)
+{
+ return 0;
+}
static inline void restore_debug_error(struct ckpt_ctx *ctx, int err) {}
static inline void restore_debug_running(struct ckpt_ctx *ctx) {}
static inline void restore_debug_exit(struct ckpt_ctx *ctx) {}
--
1.6.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] ipc_ind_to_str unused if !CONFIG_CHECKPOINT_DEBUG
[not found] ` <20091022143238.GA31778-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
@ 2009-10-22 19:36 ` Serge E. Hallyn
[not found] ` <20091022193657.GA12321-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-23 18:52 ` [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n Oren Laadan
1 sibling, 1 reply; 5+ messages in thread
From: Serge E. Hallyn @ 2009-10-22 19:36 UTC (permalink / raw)
To: Oren Laadan; +Cc: Linux Containers
(compilation cleanup on top of
fix-compile-with-CONFIG_CHECKPOINT_DEBUG-n.patch
)
Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
ipc/checkpoint.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/ipc/checkpoint.c b/ipc/checkpoint.c
index 8e6e9ba..ab9110a 100644
--- a/ipc/checkpoint.c
+++ b/ipc/checkpoint.c
@@ -21,7 +21,9 @@
#include "util.h"
/* for ckpt_debug */
+#ifdef CONFIG_CHECKPOINT_DEBUG
static char *ipc_ind_to_str[] = { "sem", "msg", "shm" };
+#endif
#define shm_ids(ns) ((ns)->ids[IPC_SHM_IDS])
#define msg_ids(ns) ((ns)->ids[IPC_MSG_IDS])
--
1.6.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n
[not found] ` <20091022143238.GA31778-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-22 19:36 ` [PATCH] ipc_ind_to_str unused if !CONFIG_CHECKPOINT_DEBUG Serge E. Hallyn
@ 2009-10-23 18:52 ` Oren Laadan
[not found] ` <4AE1FB87.4050305-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
1 sibling, 1 reply; 5+ messages in thread
From: Oren Laadan @ 2009-10-23 18:52 UTC (permalink / raw)
To: Serge E. Hallyn; +Cc: Linux Containers
Serge E. Hallyn wrote:
> On the one hand, compiling without checkpoing debug saves a
> lot of kernel size:
>
> with debug:
> -rwxrwxr-x 1 hallyn hallyn 62391508 Oct 21 22:08 vmlinux
> without debug:
> -rwxrwxr-x 1 hallyn hallyn 62298077 Oct 21 22:33 vmlinux
>
> OTOH the need for this patch just proves my point that we don't
> want any more config options than we need (especially no
> CONFIG_CHECKPOINT_LOGGING in addition to _DEBUG).
>
> So that begs the question - is there something we can do to
> avoid having to recompile the kernel to turn on debugging,
> but not take up 100k of space in vmlinux? Maybe get rid of
> the ckpt_debugs altogether and instead provide pre-written
> kprobe sets to turn on debugging at specific places?
What is the reason for the increase - the strings ? the extra
inlined code ? the passing of variables to printed ?
Turning on/off code at specific place requires that the code
still be there ...
do you intend to add a crdebug.ko module hat will hold all
that code ? (if so, you still need to pass the variables).
>
> Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Meanwhile - pulled, thanks.
Oren
> ---
> checkpoint/restart.c | 23 +++++++++++++----------
> 1 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/checkpoint/restart.c b/checkpoint/restart.c
> index 32a9fc5..105dd0a 100644
> --- a/checkpoint/restart.c
> +++ b/checkpoint/restart.c
> @@ -26,6 +26,15 @@
> #include <linux/checkpoint.h>
> #include <linux/checkpoint_hdr.h>
>
> +#define RESTART_DBG_ROOT (1 << 0)
> +#define RESTART_DBG_GHOST (1 << 1)
> +#define RESTART_DBG_COORD (1 << 2)
> +#define RESTART_DBG_TASK (1 << 3)
> +#define RESTART_DBG_WAITING (1 << 4)
> +#define RESTART_DBG_RUNNING (1 << 5)
> +#define RESTART_DBG_EXITED (1 << 6)
> +#define RESTART_DBG_FAILED (1 << 7)
> +#define RESTART_DBG_SUCCESS (1 << 8)
>
> #ifdef CONFIG_CHECKPOINT_DEBUG
>
> @@ -44,15 +53,6 @@
>
> struct ckpt_task_status {
> pid_t pid;
> -#define RESTART_DBG_ROOT (1 << 0)
> -#define RESTART_DBG_GHOST (1 << 1)
> -#define RESTART_DBG_COORD (1 << 2)
> -#define RESTART_DBG_TASK (1 << 3)
> -#define RESTART_DBG_WAITING (1 << 4)
> -#define RESTART_DBG_RUNNING (1 << 5)
> -#define RESTART_DBG_EXITED (1 << 6)
> -#define RESTART_DBG_FAILED (1 << 7)
> -#define RESTART_DBG_SUCCESS (1 << 8)
> int flags;
> int error;
> struct list_head list;
> @@ -178,7 +178,10 @@ void restore_debug_free(struct ckpt_ctx *ctx)
>
> #else
>
> -static inline void restore_debug_task(struct ckpt_ctx *ctx, int flags) {}
> +static inline int restore_debug_task(struct ckpt_ctx *ctx, int flags)
> +{
> + return 0;
> +}
> static inline void restore_debug_error(struct ckpt_ctx *ctx, int err) {}
> static inline void restore_debug_running(struct ckpt_ctx *ctx) {}
> static inline void restore_debug_exit(struct ckpt_ctx *ctx) {}
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ipc_ind_to_str unused if !CONFIG_CHECKPOINT_DEBUG
[not found] ` <20091022193657.GA12321-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
@ 2009-10-23 18:54 ` Oren Laadan
0 siblings, 0 replies; 5+ messages in thread
From: Oren Laadan @ 2009-10-23 18:54 UTC (permalink / raw)
To: Serge E. Hallyn; +Cc: Linux Containers
Added, thanks.
Serge E. Hallyn wrote:
> (compilation cleanup on top of
> fix-compile-with-CONFIG_CHECKPOINT_DEBUG-n.patch
> )
>
> Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
> ipc/checkpoint.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/ipc/checkpoint.c b/ipc/checkpoint.c
> index 8e6e9ba..ab9110a 100644
> --- a/ipc/checkpoint.c
> +++ b/ipc/checkpoint.c
> @@ -21,7 +21,9 @@
> #include "util.h"
>
> /* for ckpt_debug */
> +#ifdef CONFIG_CHECKPOINT_DEBUG
> static char *ipc_ind_to_str[] = { "sem", "msg", "shm" };
> +#endif
>
> #define shm_ids(ns) ((ns)->ids[IPC_SHM_IDS])
> #define msg_ids(ns) ((ns)->ids[IPC_MSG_IDS])
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n
[not found] ` <4AE1FB87.4050305-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
@ 2009-10-23 19:46 ` Serge E. Hallyn
0 siblings, 0 replies; 5+ messages in thread
From: Serge E. Hallyn @ 2009-10-23 19:46 UTC (permalink / raw)
To: Oren Laadan; +Cc: Linux Containers
Quoting Oren Laadan (orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org):
>
>
> Serge E. Hallyn wrote:
> > On the one hand, compiling without checkpoing debug saves a
> > lot of kernel size:
> >
> > with debug:
> > -rwxrwxr-x 1 hallyn hallyn 62391508 Oct 21 22:08 vmlinux
> > without debug:
> > -rwxrwxr-x 1 hallyn hallyn 62298077 Oct 21 22:33 vmlinux
> >
> > OTOH the need for this patch just proves my point that we don't
> > want any more config options than we need (especially no
> > CONFIG_CHECKPOINT_LOGGING in addition to _DEBUG).
> >
> > So that begs the question - is there something we can do to
> > avoid having to recompile the kernel to turn on debugging,
> > but not take up 100k of space in vmlinux? Maybe get rid of
> > the ckpt_debugs altogether and instead provide pre-written
> > kprobe sets to turn on debugging at specific places?
>
> What is the reason for the increase - the strings ? the extra
> inlined code ? the passing of variables to printed ?
Half and half :)
Pulling out the 'current->pid' and task_pid_nr arguments in
_ckpt_debug to printk, but keeping the __func__ and __LINE__,
halves the overhead of CONFIG_CHECKPOINT_DEBUG from
78190 to 39809 bytes.
-serge
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-10-23 19:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-22 14:32 [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n Serge E. Hallyn
[not found] ` <20091022143238.GA31778-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-22 19:36 ` [PATCH] ipc_ind_to_str unused if !CONFIG_CHECKPOINT_DEBUG Serge E. Hallyn
[not found] ` <20091022193657.GA12321-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-23 18:54 ` Oren Laadan
2009-10-23 18:52 ` [PATCH 1/1] fix compile with CONFIG_CHECKPOINT_DEBUG=n Oren Laadan
[not found] ` <4AE1FB87.4050305-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-10-23 19:46 ` Serge E. Hallyn
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.