Messages in this thread Patch in this message | | | Subject | Re: 2.6.10-rc1-mm5 [u] | From | "Martin Schlemmer [c]" <> | Date | Sun, 14 Nov 2004 02:07:49 +0200 |
| |
On Sat, 2004-11-13 at 15:24 -0800, Andrew Morton wrote: > "Martin Schlemmer [c]" <azarah@nosferatu.za.org> wrote: > > > > > Could you please try: > > > > > > wget ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/futex_wait-fix.patch > > > patch -R -p1 < futex_wait-fix.patch > > > > > > the retest? > > > > Yep, this seems to fix it (usually one thread at least have already hung > > at start for evo, now fine after a few mail fetches). > > OK, thanks. > > > Is this a regression, or as in the other thread an issue with evolution > > that should be fixed ? (Note: gnome-btdownload also seemed to hang > > overnight with -mm[45], but I do not know if its related) > > Don't know. It's hard to see why that patch would cause gross misbehaviour > in evolution and apache. We may have to just revert it and take another > look at the problem which it fixes. >
I will be honest that I know next to nothing about relevant code, but this looks fishy:
------ @@ -486,6 +486,8 @@ if (unlikely(ret != 0)) goto out_release_sem;
- queue_me(&q, -1, NULL); - /* * Access the page after the futex is queued. * We hold the mmap semaphore, so the mapping cannot have changed ------ The 'queue_me(&q, -1, NULL);' gets moved down, but just below where it was we have a comment before a get_user() ... it is not possible that because the patch cause the get_user() to be before queue_me(), that we can have two (or more?) get_user()'s for the same futex at relatively the same time?
> One thing I do note which is unrelated to this problem is that futex_wait() > does get_user() inside down_read(mmap_sem). But a fault will do a second > down_read(). And doing down_read() twice from within the same thread is a > bug, because an intervening down_write() from another thread will cause > deadlock. >
I will rather leave this to somebody that now something about this =)
Thanks,
-- Martin Schlemmer
[unhandled content-type:application/pgp-signature] | |