Lines Matching refs:batch
39 * immediately or will batch it up if the current CPU has an active
40 * batch on it.
47 struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch);
54 i = batch->index;
95 * Check if we have an active batch on this CPU. If not, just
100 if (!batch->active) {
106 * This can happen when we are in the middle of a TLB batch and
109 * up scanning and resetting referenced bits then our batch context
113 * batch
115 if (i != 0 && (mm != batch->mm || batch->psize != psize ||
116 batch->ssize != ssize)) {
117 __flush_tlb_pending(batch);
121 batch->mm = mm;
122 batch->psize = psize;
123 batch->ssize = ssize;
125 batch->pte[i] = rpte;
126 batch->vaddr[i] = vaddr;
127 batch->index = ++i;
129 __flush_tlb_pending(batch);
133 * This function is called when terminating an mmu batch or when a batch
135 * in a batch.
139 void __flush_tlb_pending(struct ppc64_tlb_batch *batch)
144 i = batch->index;
146 if (cpumask_equal(mm_cpumask(batch->mm), tmp))
149 flush_hash_page(batch->vaddr[0], batch->pte[0],
150 batch->psize, batch->ssize, local);
153 batch->index = 0;
160 /* If there's a TLB batch pending, then we must flush it because the
167 /* Push out batch of freed page tables */
201 /* Note: Normally, we should only ever use a batch within a