* Re: [PATCH] Enhance checkpoint/restart Kconfig options
[not found] <20090604184504.F1BCB2F8@kernel>
@ 2009-06-04 20:01 ` Nathan Lynch
[not found] ` <m3iqjbix8u.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-04 20:41 ` Serge E. Hallyn
1 sibling, 1 reply; 6+ messages in thread
From: Nathan Lynch @ 2009-06-04 20:01 UTC (permalink / raw)
To: Dave Hansen; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> I spent way too much time yesterday trying to figure out why
> my c/r tests weren't running. It turned out that I didn't
> have any of the namespaces enabled, the sys_unshare() was
> failing, and the debugging didn't explain any of this.
>
> So, to protect the world from repeating my mistakes, let's
> improve the Kconfig options a bit.
>
> 1. Don't say "Enable" in the c/r menu, that's just silly
> 2. move the c/r menu next to the namespaces
> 3. make CHECKPOINT select all of the namespaces
> 4. put a Kconfig 'comment' in explaining how everything
> got selected.
> 5. Put the namespaces in their own menu
>
> Perhaps I should break this up a bit and we can push some
> of this to the beginning of the series. Thoughts?
>
> ---
>
> linux-2.6.git-dave/checkpoint/Kconfig | 7 ++++++-
> linux-2.6.git-dave/init/Kconfig | 9 ++++++---
> 2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig
> --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup 2009-06-04 11:38:57.000000000 -0700
> +++ linux-2.6.git-dave/checkpoint/Kconfig 2009-06-04 11:38:57.000000000 -0700
> @@ -7,9 +7,14 @@ config DEFERQUEUE
> default n
>
> config CHECKPOINT
> - bool "Enable checkpoint/restart (EXPERIMENTAL)"
> + bool "Checkpoint/restart (EXPERIMENTAL)"
> depends on CHECKPOINT_SUPPORT && EXPERIMENTAL
> select DEFERQUEUE
> + select UTS_NS
> + select IPC_NS
> + select NET_NS
> + select PID_NS
> + select USER_NS
*_NS all depend on NAMESPACES at the very least; some have additional
dependencies. Selecting a symbol without ensuring its dependencies are
enabled is one way to break a build.
Also - checkpoint is useful without *_NS, no? Forcing these things on
seems a little user-hostile..
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enhance checkpoint/restart Kconfig options
[not found] ` <m3iqjbix8u.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
@ 2009-06-04 20:17 ` Dave Hansen
2009-06-05 1:32 ` Oren Laadan
2009-06-05 4:25 ` Nathan Lynch
0 siblings, 2 replies; 6+ messages in thread
From: Dave Hansen @ 2009-06-04 20:17 UTC (permalink / raw)
To: Nathan Lynch; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
On Thu, 2009-06-04 at 15:01 -0500, Nathan Lynch wrote:
> Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> > diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig
> > --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup 2009-06-04 11:38:57.000000000 -0700
> > +++ linux-2.6.git-dave/checkpoint/Kconfig 2009-06-04 11:38:57.000000000 -0700
> > @@ -7,9 +7,14 @@ config DEFERQUEUE
> > default n
> >
> > config CHECKPOINT
> > - bool "Enable checkpoint/restart (EXPERIMENTAL)"
> > + bool "Checkpoint/restart (EXPERIMENTAL)"
> > depends on CHECKPOINT_SUPPORT && EXPERIMENTAL
> > select DEFERQUEUE
> > + select UTS_NS
> > + select IPC_NS
> > + select NET_NS
> > + select PID_NS
> > + select USER_NS
>
> *_NS all depend on NAMESPACES at the very least; some have additional
> dependencies. Selecting a symbol without ensuring its dependencies are
> enabled is one way to break a build.
Ahh, but there *isn't* a strict build dependency on them. We just want
to make sure that if they're available that we enable them. If we have
CONFIG_NET=n, then we certainly don't want to make CHECKPOINT depends on
it.
> Also - checkpoint is useful without *_NS, no? Forcing these things on
> seems a little user-hostile..
I think the hostile thing is trying to completely unshare all the
namespaces without checking to see which ones are enabled, first. ;)
-- Dave
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enhance checkpoint/restart Kconfig options
[not found] <20090604184504.F1BCB2F8@kernel>
2009-06-04 20:01 ` [PATCH] Enhance checkpoint/restart Kconfig options Nathan Lynch
@ 2009-06-04 20:41 ` Serge E. Hallyn
1 sibling, 0 replies; 6+ messages in thread
From: Serge E. Hallyn @ 2009-06-04 20:41 UTC (permalink / raw)
To: Dave Hansen; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
Quoting Dave Hansen (dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
>
> I spent way too much time yesterday trying to figure out why
> my c/r tests weren't running. It turned out that I didn't
> have any of the namespaces enabled, the sys_unshare() was
> failing, and the debugging didn't explain any of this.
>
> So, to protect the world from repeating my mistakes, let's
> improve the Kconfig options a bit.
>
> 1. Don't say "Enable" in the c/r menu, that's just silly
> 2. move the c/r menu next to the namespaces
> 3. make CHECKPOINT select all of the namespaces
> 4. put a Kconfig 'comment' in explaining how everything
> got selected.
> 5. Put the namespaces in their own menu
>
> Perhaps I should break this up a bit and we can push some
> of this to the beginning of the series. Thoughts?
Yes the selects are needed imo.
-serge
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enhance checkpoint/restart Kconfig options
2009-06-04 20:17 ` Dave Hansen
@ 2009-06-05 1:32 ` Oren Laadan
2009-06-05 4:25 ` Nathan Lynch
1 sibling, 0 replies; 6+ messages in thread
From: Oren Laadan @ 2009-06-05 1:32 UTC (permalink / raw)
To: Dave Hansen
Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
Nathan Lynch
Dave Hansen wrote:
> On Thu, 2009-06-04 at 15:01 -0500, Nathan Lynch wrote:
>> Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
>>> diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig
>>> --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup 2009-06-04 11:38:57.000000000 -0700
>>> +++ linux-2.6.git-dave/checkpoint/Kconfig 2009-06-04 11:38:57.000000000 -0700
>>> @@ -7,9 +7,14 @@ config DEFERQUEUE
>>> default n
>>>
>>> config CHECKPOINT
>>> - bool "Enable checkpoint/restart (EXPERIMENTAL)"
>>> + bool "Checkpoint/restart (EXPERIMENTAL)"
>>> depends on CHECKPOINT_SUPPORT && EXPERIMENTAL
>>> select DEFERQUEUE
>>> + select UTS_NS
>>> + select IPC_NS
>>> + select NET_NS
>>> + select PID_NS
>>> + select USER_NS
>> *_NS all depend on NAMESPACES at the very least; some have additional
>> dependencies. Selecting a symbol without ensuring its dependencies are
>> enabled is one way to break a build.
>
> Ahh, but there *isn't* a strict build dependency on them. We just want
> to make sure that if they're available that we enable them. If we have
> CONFIG_NET=n, then we certainly don't want to make CHECKPOINT depends on
> it.
>
>> Also - checkpoint is useful without *_NS, no? Forcing these things on
>> seems a little user-hostile..
I concur.
>
> I think the hostile thing is trying to completely unshare all the
> namespaces without checking to see which ones are enabled, first. ;)
I concur again :o
Will fix that.
Oren.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enhance checkpoint/restart Kconfig options
2009-06-04 20:17 ` Dave Hansen
2009-06-05 1:32 ` Oren Laadan
@ 2009-06-05 4:25 ` Nathan Lynch
[not found] ` <m2zlcnfgst.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
1 sibling, 1 reply; 6+ messages in thread
From: Nathan Lynch @ 2009-06-05 4:25 UTC (permalink / raw)
To: Dave Hansen; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> On Thu, 2009-06-04 at 15:01 -0500, Nathan Lynch wrote:
>> Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
>> > diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig
>> > --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup 2009-06-04 11:38:57.000000000 -0700
>> > +++ linux-2.6.git-dave/checkpoint/Kconfig 2009-06-04 11:38:57.000000000 -0700
>> > @@ -7,9 +7,14 @@ config DEFERQUEUE
>> > default n
>> >
>> > config CHECKPOINT
>> > - bool "Enable checkpoint/restart (EXPERIMENTAL)"
>> > + bool "Checkpoint/restart (EXPERIMENTAL)"
>> > depends on CHECKPOINT_SUPPORT && EXPERIMENTAL
>> > select DEFERQUEUE
>> > + select UTS_NS
>> > + select IPC_NS
>> > + select NET_NS
>> > + select PID_NS
>> > + select USER_NS
>>
>> *_NS all depend on NAMESPACES at the very least; some have additional
>> dependencies. Selecting a symbol without ensuring its dependencies are
>> enabled is one way to break a build.
>
> Ahh, but there *isn't* a strict build dependency on them. We just want
> to make sure that if they're available that we enable them. If we have
> CONFIG_NET=n, then we certainly don't want to make CHECKPOINT depends on
> it.
Sorry, I'm afraid I don't understand what you're saying here.
Here's a concrete example of what I'm talking about.
$ git checkout oren/ckpt-v16
$ make ARCH=i386 i386_defconfig
[ edit .config, enable CONFIG_CHECKPOINT and disable CONFIG_NET ]
$ make ARCH=i386 -s vmlinux # which should succeed
[ apply your patch ]
$ make ARCH=i386 -s vmlinux
kernel/built-in.o: In function `free_nsproxy':
(.text+0x1daaf): undefined reference to `__put_net'
make: *** [.tmp_vmlinux1] Error 1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enhance checkpoint/restart Kconfig options
[not found] ` <m2zlcnfgst.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
@ 2009-06-05 19:01 ` Dave Hansen
0 siblings, 0 replies; 6+ messages in thread
From: Dave Hansen @ 2009-06-05 19:01 UTC (permalink / raw)
To: Nathan Lynch; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
On Thu, 2009-06-04 at 23:25 -0500, Nathan Lynch wrote:
> > Ahh, but there *isn't* a strict build dependency on them. We just
> want
> > to make sure that if they're available that we enable them. If we
> have
> > CONFIG_NET=n, then we certainly don't want to make CHECKPOINT
> depends on
> > it.
>
> Sorry, I'm afraid I don't understand what you're saying here.
>
> Here's a concrete example of what I'm talking about.
>
> $ git checkout oren/ckpt-v16
> $ make ARCH=i386 i386_defconfig
> [ edit .config, enable CONFIG_CHECKPOINT and disable CONFIG_NET ]
> $ make ARCH=i386 -s vmlinux # which should succeed
> [ apply your patch ]
> $ make ARCH=i386 -s vmlinux
> kernel/built-in.o: In function `free_nsproxy':
> (.text+0x1daaf): undefined reference to `__put_net'
> make: *** [.tmp_vmlinux1] Error 1
Kconfig is almost as retarded as me. :) Thanks for the cluebat.
-- Dave
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-06-05 19:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20090604184504.F1BCB2F8@kernel>
2009-06-04 20:01 ` [PATCH] Enhance checkpoint/restart Kconfig options Nathan Lynch
[not found] ` <m3iqjbix8u.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-04 20:17 ` Dave Hansen
2009-06-05 1:32 ` Oren Laadan
2009-06-05 4:25 ` Nathan Lynch
[not found] ` <m2zlcnfgst.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-05 19:01 ` Dave Hansen
2009-06-04 20:41 ` 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.