Messages in this thread | | | Date | Wed, 18 Jan 2012 14:05:31 -0800 (PST) | From | david@lang ... | Subject | Re: [RFC] syscalls, x86: Add __NR_kcmp syscall |
| |
On Tue, 17 Jan 2012, Eric W. Biederman wrote:
> "H. Peter Anvin" <hpa@zytor.com> writes: > >> On 01/17/2012 06:44 AM, Cyrill Gorcunov wrote: >>> On Tue, Jan 17, 2012 at 04:38:14PM +0200, Alexey Dobriyan wrote: >>>> On 1/17/12, Cyrill Gorcunov <gorcunov@gmail.com> wrote: >>>>> +#define KCMP_EQ 0 >>>>> +#define KCMP_LT 1 >>>>> +#define KCMP_GT 2 >>>> >>>> LT and GT are meaningless. >>>> >>> >>> I found symbolic names better than open-coded values. But sure, >>> if this is problem it could be dropped. >>> >>> Or you mean that in general anything but 'equal' is useless? >>> >> >> Why on Earth would user space need to know which order in memory certain >> kernel objects are? > > For checkpoint restart and for some other kinds of introspection what is > needed is a comparison function to see if two processes share the same > object. The most interesting of these objects from a checkpoint restart case > are file descriptors, and there can be a lot of file descriptors. > > The order in memory does not matter. What does matter is that the > comparison function return some ordering between objects. The algorithm > for figuring out of N items which of them are duplicates is O(N^2) if > the comparison function can only return equal or not equal. The > algorithm for finding duplications is only O(NlogN) if the comparison > function will return an ordering among the objects.
so what you really want is a syscall that can take a list of objects instead of having to do a syscall per object. right?
David Lang
| |