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-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html