Messages in this thread | | | Date | Fri, 9 Feb 2007 16:12:45 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH 0 of 4] Generic AIO by scheduling stacks |
| |
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 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/
| |