Re: [PATCH] fixes for rcu_offline_cpu, rcu_move_batch (2.6.8-rc2)

From: Andrew Morton
Date: Mon Jul 26 2004 - 19:04:14 EST


Nathan Lynch <nathanl@xxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> rcu_offline_cpu and rcu_move_batch have been broken since the
> list_head's in struct rcu_head and struct rcu_data were replaced with
> singly-linked lists:
>
> CC kernel/rcupdate.o
> kernel/rcupdate.c: In function `rcu_move_batch':
> kernel/rcupdate.c:222: warning: passing arg 2 of `list_add_tail' from
> incompatible pointer type
> kernel/rcupdate.c: In function `rcu_offline_cpu':
> kernel/rcupdate.c:239: warning: passing arg 1 of `rcu_move_batch' from
> incompatible pointer type
> kernel/rcupdate.c:240: warning: passing arg 1 of `rcu_move_batch' from
> incompatible pointer type
> kernel/rcupdate.c:236: warning: label `unlock' defined but not used

oop. We really should find some way to get more people to enable CPU
hotplug. We have a coverage problem.

> Kernel crashes when you try to offline a cpu, not surprisingly.
>
> It also looks like rcu_move_batch isn't preempt-safe so I touched that
> up, and got rid of an unused label in rcu_offline_cpu.
>
> This fixes the crash for me; does it look ok?
>

Looks good to me, thanks.

-
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/