Messages in this thread | | | Date | Thu, 19 Jan 2012 02:49:56 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [RFC] syscalls, x86: Add __NR_kcmp syscall |
| |
On Wed, Jan 18, 2012 at 02:05:31PM -0800, david@lang.hm wrote: ... > >> > >>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? >
It doesn't matter. Even if we take a list of objects the kernel either should return us some ordering info or find duplicates, in any case it makes things more complex i think. So we wanted to bring some minimum into kernel leaving the rest of work to user-space.
(and, btw, Eric, I'm really sorry that I didn't mentioned this sorting problem at the very first email).
Cyrill
| |