On Sat, 10 Feb 2007, Eric Dumazet wrote: > > Well, I guess if the original program was mono-threaded, and syscall used > fget_light(), we might have a problem here if the child try a close(). So you > may have to disable fget_light() magic if async call is the originator of the > syscall.
Yes. All the issues that I already brought up with Zach's patches are still there. This doesn't really change any of them. Any optimization that checks for "am I single-threaded" will need to be aware of pending and running async things. With my patch, any _running_ async things will always be seen as normal clones, but the pending ones won't. So you'd need to effectively change anything that looks like if (atomic_read(¤t->mm->count) == 1) .. do some simplified version .. into if (!current->async_cookie && atomic_read(..) == 1) .. do the simplified thing .. to make it safe. I think we only do it for fget_light and some VM TLB simplification, so it shouldn't be a big burden to check. Side note: the real issues still remain. The interfaces, and the performance testing. Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/