Open GoogleCodeExporter opened 9 years ago
Actually, problem persists only on 3.11.10-25 kernel, which is distro-specific.
Investigation shows that problem is in dump_trace() call inside call_rcu()
callback.
Simple module demonstrates same behaviour(freeze system while loading):
--
#include <linux/module.h>
#include <linux/rcupdate.h>
MODULE_AUTHOR("Tsyvarev Andrey");
MODULE_LICENSE("GPL");
struct my_struct
{
struct rcu_head rh;
} s;
int a;
void rcu_func(struct rcu_head* head)
{
dump_stack();
a = 1;
}
static int my_module_init(void)
{
call_rcu(&s.rh, rcu_func);
return 0;
}
static void my_module_exit(void)
{
rcu_barrier();
}
module_init(my_module_init);
module_exit(my_module_exit);
--
Original comment by tsy...@gmail.com
on 24 Jan 2015 at 1:17
Original issue reported on code.google.com by
tsy...@gmail.com
on 19 Jan 2015 at 8:54