unsigned long freed = mp->freed; struct mm_struct *mm = mp->mm; unsigned long rss = get_mm_counter(mm, rss);  if (rss < freed) freed = rss; add_mm_counter(mm, rss, -freed);  
static inline void tlb_finish_mmu(struct mmu_gather *mp, unsigned long start, unsigned long end){	unsigned long freed = mp->freed;	struct mm_struct *mm = mp->mm;	unsigned long rss = get_mm_counter(mm, rss);	if (rss < freed)		freed = rss;	add_mm_counter(mm, rss, -freed);	tlb_flush_mmu(mp);	if (mp->fullmm) {		if (CTX_VALID(mm->context))			do_flush_tlb_mm(mm);		mp->fullmm = 0;	} else		flush_tlb_pending();	/* keep the page table cache within bounds */	check_pgt_cache();	put_cpu_var(mmu_gathers);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fc2acab31be8e869b2d5f6de12f557f6f054f19c/tlb.h/buggy/include/asm-sparc64/tlb.h