Re: [RFC][PATCH 8/8] check files for checkpointability

From: Serge E. Hallyn
Date: Sun Mar 01 2009 - 12:00:27 EST


Quoting Sukadev Bhattiprolu (sukadev@xxxxxxxxxxxxxxxxxx):
> Dave Hansen [dave@xxxxxxxxxxxxxxxxxx] wrote:
> |
> | Introduce a files_struct counter to indicate whether a particular
> | file_struct has ever contained a file which can not be
> | checkpointed. This flag is a one-way trip; once it is set, it may
> | not be unset.
> |
> | We assume at allocation that a new files_struct is clean and may
> | be checkpointed. However, as soon as it has had its files filled
> | from its parent's, we check it for real in __scan_files_for_cr().
> | At that point, we mark it if it contained any uncheckpointable
> | files.
>
> Hmm. Why not just copy ->may_checkpoint setting from parent (or old)
> files_struct ? If parent is not checkpointable, then child won't be
> and vice-versa - no ?

No. We don't clear the files_struct checkpointable flag when an
uncheckpointable file is closed. But if the parent has closed
all uncheckpointable files before forking, then the child can
be started with a checkpointable files_struct.

Otherwise it wouldn't just be the task which has a one-way trip to
uncheckpointability, but process trees, and - assuming init does
anything uncheckpointable at all - the whole system :)

-serge
--
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/