PROBLEM: 4.15.0-rc3 APIC causes lockups on Core 2 Duo laptop

Dexuan Cui decui at microsoft.com
Sat Dec 23 01:35:12 UTC 2017


> From: Alexandru Chirvasitu [mailto:achirvasub at gmail.com]
> Sent: Friday, December 22, 2017 14:29
> 
> The output of that precise command run just now on a freshly-compiled
> copy of that commit is attached.
> 
> On Fri, Dec 22, 2017 at 09:31:28PM +0000, Dexuan Cui wrote:
> > > From: Alexandru Chirvasitu [mailto:achirvasub at gmail.com]
> > > Sent: Friday, December 22, 2017 06:21
> > >
> > > In the absence of logs, the best I can do at the moment is attach a
> > > picture of the screen I am presented with on the apic=debug boot
> > > attempt.
> > > Alex
> >
> > The panic happens in irq_matrix_assign_system+0x4e/0xd0 in your picture.
> > IMO we should find which line of code causes the panic. I suppose
> > "objdump -D kernel/irq/matrix.o" can help to do that.
> >
> > Thanks,
> > -- Dexuan

The BUG_ON panic happens at line 147:
                   BUG_ON(!test_and_clear_bit(bit, cm->alloc_map));

I'm sure Thomas and Dou know it better than me. 

137 void irq_matrix_assign_system(struct irq_matrix *m, unsigned int bit,
138                               bool replace)
139 {
140         struct cpumap *cm = this_cpu_ptr(m->maps);
141
142         BUG_ON(bit > m->matrix_bits);
143         BUG_ON(m->online_maps > 1 || (m->online_maps && !replace));
144
145         set_bit(bit, m->system_map);
146         if (replace) {
147                 BUG_ON(!test_and_clear_bit(bit, cm->alloc_map));
148                 cm->allocated--;
149                 m->total_allocated--;
150         }
151         if (bit >= m->alloc_start && bit < m->alloc_end)
152                 m->systembits_inalloc++;
153
154         trace_irq_matrix_assign_system(bit, m);
155 }

-- Dexuan



More information about the devel mailing list