From: Mikael Pettersson This patch fixes a critical SMP bug in the perfctr inheritance fix I sent yesterday. I added a spinlock to the perfctr state, but forgot to initialise it, which results in a hard hang on SMP the first time someone tries to program their perfctrs. It works on UP, which is why I didn't detect it before :-( Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton --- 25-akpm/drivers/perfctr/virtual.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/perfctr/virtual.c~perfctr-smp-hang-fix drivers/perfctr/virtual.c --- 25/drivers/perfctr/virtual.c~perfctr-smp-hang-fix 2004-08-15 12:44:44.654253336 -0700 +++ 25-akpm/drivers/perfctr/virtual.c 2004-08-15 12:44:44.659252576 -0700 @@ -156,6 +156,7 @@ static struct vperfctr *get_empty_vperfc atomic_set(&perfctr->count, 1); vperfctr_init_bad_cpus_allowed(perfctr); spin_lock_init(&perfctr->owner_lock); + spin_lock_init(&perfctr->children_lock); } return perfctr; } _