Messages in this thread | | | Subject | Re: [patch 0/6] lightweight robust futexes: -V4 | From | (Eric W. Biederman) | Date | Wed, 22 Feb 2006 22:01:51 -0700 |
| |
Jakub Jelinek <jakub@redhat.com> writes:
> On Tue, Feb 21, 2006 at 08:26:05AM -0800, Ulrich Drepper wrote: >> > The `len' argument (or really revision of the structure if really needed) >> > can be encoded in the structure, as in: >> > struct robust_list_head { >> > struct robust_list list; >> > short robust_list_head_len; /* or robust_list_head_version ? */ >> > short futex_offset; >> > struct robust_list __user *list_op_pending; >> > }; >> > or with long futex_offset, but using say upper 8 bits of the field as >> > version or length. >> >> I know you want to save SPARC but this kind of overloading I don't >> really like. If you need special treatment of the futex value make >> this explicit and arch-dependent. > > This had nothing to do with SPARC actually, I only wanted to avoid > passing two extra arguments to clone rather than one. But if you think > CLONE_CHILD_SETROBUST is unnecessary, so be it and the combined > set_tid_robust_address call can have tidptr, robustptr and robustlen > arguments.
Not to be dense. But can you actually measure the syscall overhead you are trying to optimize out?
Especially where Ulrich was starting to ask for something that reminded me of posix_spawn, I get a little nervous. My gut feel is that 2 simple cheap syscalls, are comparable to one very configurable syscall.
I don't count cycles regularly so I don't know for certain, but lets at least look before we leap.
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |