Re: What can OpenVZ do?

From: Alexey Dobriyan
Date: Wed Feb 18 2009 - 00:05:23 EST


On Tue, Feb 17, 2009 at 04:40:39PM -0800, Dave Hansen wrote:
> On Wed, 2009-02-18 at 01:32 +0100, Ingo Molnar wrote:
> > > > Uncheckpointable should be a one-way flag anyway. We want this
> > > > to become usable, so uncheckpointable functionality should be as
> > > > painful as possible, to make sure it's getting fixed ...
> > >
> > > Again, as these patches stand, we don't support checkpointing
> > > when non-simple files are opened. Basically, if a
> > > open()/lseek() pair won't get you back where you were, we
> > > don't deal with them.
> > >
> > > init does non-checkpointable things. If the flag is a one-way
> > > trip, we'll never be able to checkpoint because we'll always
> > > inherit init's ! checkpointable flag.
> > >
> > > To fix this, we could start working on making sure we can
> > > checkpoint init, but that's practically worthless.
> >
> > i mean, it should be per process (per app) one-way flag of
> > course. If the app does something unsupported, it gets
> > non-checkpointable and that's it.
>
> OK, we can definitely do that. Do you think it is OK to run through a
> set of checks at exec() time to check if the app currently has any
> unsupported things going on? If we don't directly inherit the parent's
> status, then we need to have *some* time when we check it.

Uncheckpointable is not one-way.

Imagine remap_file_pages(2) is unsupported. Now app uses
remap_file_pages(2), then unmaps interesting VMA. Now app is
checkpointable again.

As for overloading LSM, I think, it would be horrible.
Most hooks are useless, there are config options expanding LSM hooks,
and CPT and LSM are just totally orthogonal.

Instead, just (no offence) get big enough coverage -- run modern and
past distros, run servers packaged with them, and if you can checkpoint
all of this, you're mostly fine.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/