Re: frequent lockups in 3.18rc4

From: Linus Torvalds
Date: Tue Dec 02 2014 - 19:09:36 EST


On Tue, Dec 2, 2014 at 3:32 PM, Sasha Levin <sasha.levin@xxxxxxxxxx> wrote:
>
> I've disabled lock debugging to see if anything new will show up, and hit
> something that may be related:

Very interesting. But your source code doesn't match mine - can you
say what that

kernel/sched/fair.c:4541:17

line is?

There are at least five multiplications there (all inlined):

- "imbalance*min_load" from find_idlest_group()

- "factor * p->wakee_flips" in wake_wide()

- at least three in wake_affine:

"prev_eff_load *= capacity_of(this_cpu)"
"this_eff_load *= this_load + effective_load(tg, this_cpu, weight, weight)"
"prev_eff_load *= load + effective_load(tg, prev_cpu, 0, weight)"

(There are other multiplications too, but they are by constants afaik
and don't match yours).

None of those seem to have anything to do with the 3.16..3.17 changes,
but I might be missing something, and obviously this also might have
nothing to do with the problems anyway.

Adding Ingo/PeterZ to the participants again.

Linus


---
> [ 787.894288] ================================================================================
> [ 787.897074] UBSan: Undefined behaviour in kernel/sched/fair.c:4541:17
> [ 787.898981] signed integer overflow:
> [ 787.900066] 361516561629678 * 101500 cannot be represented in type 'long long int'
> [ 787.900066] ubsan_epilogue (lib/ubsan.c:159)
> [ 787.900066] handle_overflow (lib/ubsan.c:191)
> [ 787.900066] ? __do_page_fault (arch/x86/mm/fault.c:1220)
> [ 787.900066] ? local_clock (kernel/sched/clock.c:392)
> [ 787.900066] __ubsan_handle_mul_overflow (lib/ubsan.c:218)
> [ 787.900066] select_task_rq_fair (kernel/sched/fair.c:4541 kernel/sched/fair.c:4755)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/