wmb(); 
smp_wmb(); 
static __inline__ void timer_recalc_offset(unsigned long cur_tb){	struct gettimeofday_vars * temp_varp;	unsigned temp_idx;	unsigned long offset, new_stamp_xsec, new_tb_orig_stamp;	if (((cur_tb - do_gtod.varp->tb_orig_stamp) & 0x80000000u) == 0)		return;	temp_idx = (do_gtod.var_idx == 0);	temp_varp = &do_gtod.vars[temp_idx];	new_tb_orig_stamp = cur_tb;	offset = new_tb_orig_stamp - do_gtod.varp->tb_orig_stamp;	new_stamp_xsec = do_gtod.varp->stamp_xsec + mulhdu(offset, do_gtod.varp->tb_to_xs);	temp_varp->tb_to_xs = do_gtod.varp->tb_to_xs;	temp_varp->tb_orig_stamp = new_tb_orig_stamp;	temp_varp->stamp_xsec = new_stamp_xsec;	mb();	do_gtod.varp = temp_varp;	do_gtod.var_idx = temp_idx;	++(systemcfg->tb_update_count);	wmb();	systemcfg->tb_orig_stamp = new_tb_orig_stamp;	systemcfg->stamp_xsec = new_stamp_xsec;	wmb();	++(systemcfg->tb_update_count);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc/time.c/buggy/arch/ppc64/kernel/time.c