lkml.org 
[lkml]   [1997]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: linux-2.1.44 on i586: Immediate crash on boot
Date
torvalds@transmeta.com (Linus Torvalds) writes:
>
> Ok, how many people want to test out a pre-patch?

Not me. It's buggy. ;-)


Your new code says:

static void __wait_on_inode(struct inode * inode)
{
struct wait_queue wait = { current, NULL };

add_wait_queue(&inode->i_wait, &wait);
repeat:
current->state = TASK_UNINTERRUPTIBLE;
! if (test_bit(I_LOCK, &inode->i_state)) {
schedule();
goto repeat;
}
remove_wait_queue(&inode->i_wait, &wait);
current->state = TASK_RUNNING;
}

The banged line should be if (test_and_set_bit(..)), I'd say.
Same in wait_on_inode().

Or am I (as usual these days, it seems) missing something?

--
Matthias Urlichs \ noris network GmbH / Xlink-POP Nürnberg
Schleiermacherstraße 12 \ Linux+Internet / EMail: urlichs@noris.de
90491 Nürnberg (Germany) \ Consulting+Programming+Networking+etc'ing
PGP: 1024/4F578875 1B 89 E2 1C 43 EA 80 44 15 D2 29 CF C6 C7 E0 DE
Click <A HREF="http://info.noris.de/~smurf/finger">here</A>. 42

\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.885 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site