PRINTK_STRING("--- End of test"); 
printk(KERN_ALERT TORTURE_FLAG "--- End of test: %s\n", atomic_read(&n_rcu_torture_error) == 0 ? "SUCCESS" : "FAILURE"); 
rcu_torture_cleanup(void){	int i;	fullstop = 1;	if (writer_task != NULL) {		VERBOSE_PRINTK_STRING("Stopping rcu_torture_writer task");		kthread_stop(writer_task);	}	writer_task = NULL;	if (reader_tasks != NULL) {		for (i = 0; i < nrealreaders; i++) {			if (reader_tasks[i] != NULL) {				VERBOSE_PRINTK_STRING(					"Stopping rcu_torture_reader task");				kthread_stop(reader_tasks[i]);			}			reader_tasks[i] = NULL;		}		kfree(reader_tasks);		reader_tasks = NULL;	}	rcu_torture_current = NULL;	if (stats_task != NULL) {		VERBOSE_PRINTK_STRING("Stopping rcu_torture_stats task");		kthread_stop(stats_task);	}	stats_task = NULL;	/* Wait for all RCU callbacks to fire.  */	for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++)		synchronize_rcu();	rcu_torture_stats_print();  /* -After- the stats thread is stopped! */	PRINTK_STRING("--- End of test");}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/996417d2c4eb583e94553e4ede58974e0da1c38e/rcutorture.c/buggy/kernel/rcutorture.c