[lkml]   [2001]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.4.7p6 hang
    This patch fixes the hang for me.

    Thank you,

    Josh Logan wrote:

    >I'm having a hang right after the floppy is initialised with pre5 and pre6
    >(2.4.3 works fine) I tried this patch, but it did not make any
    >improvments. The machine still has SysRq commands available. Please let
    >me know what other information you would like to debug this problem.
    >BTW, I also tried to disable the floppy in the BIOS and got:
    >Floppy OK
    >task queue still active
    > Later, JOSH
    >On Wed, 11 Jul 2001, Andrea Arcangeli wrote:
    >>On Wed, Jul 11, 2001 at 04:22:04PM +0200, Trond Myklebust wrote:
    >>>>>>>>" " == Andrew Morton <> writes:
    >>> > Trond Myklebust wrote:
    >>> >>
    >>> >> ... I have the same problem on my setup. To me, it looks like
    >>> >> the loop in spawn_ksoftirqd() is suffering from some sort of
    >>> >> atomicity problem.
    >>> > Does a `set_current_state(TASK_RUNNING);' in spawn_ksoftirqd()
    >>> > fix it? If so we have a rogue initcall...
    >>>Nope. The same thing happens as before.
    >>>A couple of debugging statements show that ksoftirqd_CPU0 gets created
    >>>fine, and that ksoftirqd_task(0) is indeed getting set correctly
    >>>before we loop in spawn_ksoftirqd().
    >>>After this the second call to kernel_thread() succeeds, but
    >>>ksoftirqd() itself never gets called before the hang occurs.
    >>ksoftirqd is quite scheduler intensive, and while its startup is
    >>correct (no need of any change there), it tends to trigger scheduler
    >>bugs (one of those bugs was just fixed in pre5). The reason I never seen
    >>the deadlock I also fixed this other scheduler bug in my tree:
    >>this one I forgot to sumbit but here it is now for easy merging:
    >>--- 2.4.4aa3/kernel/sched.c.~1~ Sun Apr 29 17:37:05 2001
    >>+++ 2.4.4aa3/kernel/sched.c Tue May 1 16:39:42 2001
    >>@@ -674,8 +674,10 @@
    >> #endif
    >> spin_unlock_irq(&runqueue_lock);
    >>- if (prev == next)
    >>+ if (prev == next) {
    >>+ current->policy &= ~SCHED_YIELD;
    >> goto same_process;
    >>+ }
    >> #ifdef CONFIG_SMP
    >> /*

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:56    [W:0.031 / U:0.444 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site