Re: 2.6.20 BUG: soft lockup detected on CPU#0!

Andrew Morton
2007-02-08T10:13:07Z

On Thu, 8 Feb 2007 10:56:12 +0100 Ingo Molnar <mingo@elte.hu> wrote:

>
> * Eric Dumazet <dada1@cosmosbay.com> wrote:
>
> > This reminds me the current problem in close_files()
> > code, where we trigger soft lockup quite regularly.
> >
> > Is there any chance/interest we can solve the issue Andrew had with
> > this patch ?
> >
> > http://lkml.org/lkml/2006/5/2/273
>
> yes - the -rt patch included the patch below for more than 2 years.
> (note that this one is even more finegrained)
>
> Ingo
>
> Index: linux/kernel/exit.c
> ===================================================================
> --- linux.orig/kernel/exit.c
> +++ linux/kernel/exit.c
> @@ -431,8 +433,10 @@ static void close_files(struct files_str
> while (set) {
> if (set & 1) {
> struct file * file = xchg(&fdt->fd[i], NULL);
> - if (file)
> + if (file) {
> filp_close(file, files);
> + cond_resched();
> + }
> }
> i++;
> set >>= 1;

That doesn't hang like the other patch did on 2.6.17-rc3.

Very mysterious.