Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1360312

Re: 4.5.0+ panic when setup loop device

From Xiong Zhou <jencce.kernel@gmail.com>
Newsgroups linux.kernel
Subject Re: 4.5.0+ panic when setup loop device
Date 2016-03-18 03:40 +0100
Message-ID <rdSuu-7Hu-7@gated-at.bofh.it> (permalink)
References (2 earlier) <rdvod-yw-1@gated-at.bofh.it> <rdCSL-5Ht-39@gated-at.bofh.it> <rdDlM-68F-11@gated-at.bofh.it> <rdDlM-68F-21@gated-at.bofh.it> <rdEBc-6TE-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

On Thu, Mar 17, 2016 at 7:39 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> B1;2802;0cOn Thu, 17 Mar 2016, Peter Zijlstra wrote:
>
>> On Thu, Mar 17, 2016 at 11:21:24AM +0100, Thomas Gleixner wrote:
>> > On Thu, 17 Mar 2016, Peter Zijlstra wrote:
>> >
>> > > Could you please try? I'm not sure how this would explain your loop
>> > > device bug fail, but it certainly pointed towards broken.
>> >
>> > It definitely does not explain it. The wreckage that topo stuff causes is that
>> > it disables a cpu, but that really is not a reason for block/loop to explode.
>>
>> Right. Sadly I could not reproduce that error on my machine. But we can
>> at least start by fixing the 'obvious' problems and then maybe we get
>> more clues ;-)
>
> I'm able to reproduce by rejecting a cpu in that topology map function
> forcefully.
>
> That stuff explodes, because the block-mq code assumes that cpu_possible_mask
> has no holes.
>
> #define queue_for_each_ctx(q, ctx, i)                                   \
>         for ((i) = 0; (i) < (q)->nr_queues &&                           \
>              ({ ctx = per_cpu_ptr((q)->queue_ctx, (i)); 1; }); (i)++)
>
> is what makes that assumption about a consecutive possible mask.
>
> The cure for now is the patch below on top of PeterZ's patch.

No panic with both Peter's patch and yours.

Thanks all.

--
Xiong

>
> But we have to clarify and document whether holes in cpu_possible_mask are not
> allowed at all or if code like the above is simply broken.
>
> Thanks,
>
>         tglx
> ---
> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> index 643dbdccf4bc..f2ed8a01f870 100644
> --- a/arch/x86/kernel/smpboot.c
> +++ b/arch/x86/kernel/smpboot.c
> @@ -345,7 +345,6 @@ static void __init smp_init_package_map(void)
>                         continue;
>                 pr_warn("CPU %u APICId %x disabled\n", cpu, apicid);
>                 per_cpu(x86_bios_cpu_apicid, cpu) = BAD_APICID;
> -               set_cpu_possible(cpu, false);
>                 set_cpu_present(cpu, false);
>         }
>  }
>
>
>
>
>
>
>
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-16 16:30 +0100
  Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-17 11:00 +0100
  Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-17 11:00 +0100
    Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-17 11:30 +0100
      Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-17 11:30 +0100
        Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-17 12:50 +0100
          Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-17 13:00 +0100
            Re: 4.5.0+ panic when setup loop device Borislav Petkov <bp@alien8.de> - 2016-03-17 13:00 +0100
            Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-17 13:10 +0100
              Re: 4.5.0+ panic when setup loop device Jens Axboe <axboe@kernel.dk> - 2016-03-17 17:50 +0100
                Re: 4.5.0+ panic when setup loop device Jens Axboe <axboe@kernel.dk> - 2016-03-17 19:30 +0100
                Re: 4.5.0+ panic when setup loop device Jens Axboe <axboe@kernel.dk> - 2016-03-17 21:30 +0100
                Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-17 21:40 +0100
                Re: 4.5.0+ panic when setup loop device Jens Axboe <axboe@kernel.dk> - 2016-03-17 21:50 +0100
                Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-17 21:30 +0100
          Re: 4.5.0+ panic when setup loop device Xiong Zhou <jencce.kernel@gmail.com> - 2016-03-18 03:40 +0100
    Re: 4.5.0+ panic when setup loop device Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-03-18 05:20 +0100
      Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-18 09:00 +0100
      Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-18 11:20 +0100
        Re: 4.5.0+ panic when setup loop device Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-03-18 13:40 +0100
          Re: 4.5.0+ panic when setup loop device Peter Zijlstra <peterz@infradead.org> - 2016-03-18 14:40 +0100
            Re: 4.5.0+ panic when setup loop device Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-03-18 15:10 +0100
      Re: 4.5.0+ panic when setup loop device Thomas Gleixner <tglx@linutronix.de> - 2016-03-18 13:00 +0100
        Re: 4.5.0+ panic when setup loop device Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-03-18 13:50 +0100
        [tip:x86/urgent] x86/topology: Use total_cpus not nr_cpu_ids for  logical packages tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2016-03-19 10:40 +0100
    [tip:x86/urgent] x86/topology: Fix AMD core count tip-bot for Peter Zijlstra <tipbot@zytor.com> - 2016-03-29 10:50 +0200

csiph-web