Lines Matching refs:tsb
1 /* arch/sparc64/mm/tsb.c
13 #include <asm/tsb.h>
16 extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES];
41 struct tsb *ent = &swapper_tsb[hash];
50 static void __flush_tsb_one(struct mmu_gather *mp, unsigned long hash_shift, unsigned long tsb, unsigned long nentries)
61 ent = tsb + (hash * sizeof(struct tsb));
75 base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb;
82 if (mm->context.tsb_block[MM_TSB_HUGE].tsb) {
83 base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb;
130 tsb_bytes / sizeof(struct tsb);
134 tsb_paddr = __pa(mm->context.tsb_block[tsb_idx].tsb);
294 struct tsb *old_tsb, *new_tsb;
304 unsigned long n_entries = new_size / sizeof(struct tsb);
316 new_rss_limit = ((new_size / sizeof(struct tsb)) * 3) / 4;
330 if (mm->context.tsb_block[tsb_index].tsb == NULL &&
341 if (mm->context.tsb_block[tsb_index].tsb != NULL)
373 old_tsb = mm->context.tsb_block[tsb_index].tsb;
377 sizeof(struct tsb));
409 mm->context.tsb_block[tsb_index].tsb = new_tsb;
424 /* Now it is safe to free the old tsb. */
454 mm->context.tsb_block[i].tsb = NULL;
466 if (unlikely(!mm->context.tsb_block[MM_TSB_BASE].tsb))
476 if (!tp->tsb)
479 kmem_cache_free(tsb_caches[cache_index], tp->tsb);
480 tp->tsb = NULL;