if (p->rtort_mbtest == 0) atomic_inc(&n_rcu_torture_mberror); 
rcu_torture_reader(void *arg){	int completed;	DEFINE_RCU_RANDOM(rand);	struct rcu_torture *p;	int pipe_count;	VERBOSE_PRINTK_STRING("rcu_torture_reader task started");	set_user_nice(current, 19);	do {		rcu_read_lock();		completed = rcu_batches_completed();		p = rcu_dereference(rcu_torture_current);		if (p == NULL) {			/* Wait for rcu_torture_writer to get underway */			rcu_read_unlock();			schedule_timeout_interruptible(HZ);			continue;		}		udelay(rcu_random(&rand) & 0x7f);		preempt_disable();		pipe_count = p->rtort_pipe_count;		if (pipe_count > RCU_TORTURE_PIPE_LEN) {			/* Should not happen, but... */			pipe_count = RCU_TORTURE_PIPE_LEN;		}		++__get_cpu_var(rcu_torture_count)[pipe_count];		completed = rcu_batches_completed() - completed;		if (completed > RCU_TORTURE_PIPE_LEN) {			/* Should not happen, but... */			completed = RCU_TORTURE_PIPE_LEN;		}		++__get_cpu_var(rcu_torture_batch)[completed];		preempt_enable();		rcu_read_unlock();		schedule();	} while (!kthread_should_stop() && !fullstop);	VERBOSE_PRINTK_STRING("rcu_torture_reader task stopping");	while (!kthread_should_stop())		schedule_timeout_uninterruptible(1);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/996417d2c4eb583e94553e4ede58974e0da1c38e/rcutorture.c/buggy/kernel/rcutorture.c