Revisión | ab6511053015b9cc636915e2c2b97305cbf044f0 (tree) |
---|---|
Tiempo | 2018-10-31 21:16:39 |
Autor | Richard Henderson <richard.henderson@lina...> |
Commiter | Richard Henderson |
cputlb: Remove tlb_c.pending_flushes
This is essentially redundant with tlb_c.dirty.
Tested-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
@@ -174,20 +174,8 @@ void tlb_flush_by_mmuidx(CPUState *cpu, uint16_t idxmap) | ||
174 | 174 | tlb_debug("mmu_idx: 0x%" PRIx16 "\n", idxmap); |
175 | 175 | |
176 | 176 | if (cpu->created && !qemu_cpu_is_self(cpu)) { |
177 | - CPUArchState *env = cpu->env_ptr; | |
178 | - uint16_t pending, to_clean; | |
179 | - | |
180 | - qemu_spin_lock(&env->tlb_c.lock); | |
181 | - pending = env->tlb_c.pending_flush; | |
182 | - to_clean = idxmap & ~pending; | |
183 | - env->tlb_c.pending_flush = pending | idxmap; | |
184 | - qemu_spin_unlock(&env->tlb_c.lock); | |
185 | - | |
186 | - if (to_clean) { | |
187 | - tlb_debug("reduced mmu_idx: 0x%" PRIx16 "\n", to_clean); | |
188 | - async_run_on_cpu(cpu, tlb_flush_by_mmuidx_async_work, | |
189 | - RUN_ON_CPU_HOST_INT(to_clean)); | |
190 | - } | |
177 | + async_run_on_cpu(cpu, tlb_flush_by_mmuidx_async_work, | |
178 | + RUN_ON_CPU_HOST_INT(idxmap)); | |
191 | 179 | } else { |
192 | 180 | tlb_flush_by_mmuidx_async_work(cpu, RUN_ON_CPU_HOST_INT(idxmap)); |
193 | 181 | } |
@@ -161,12 +161,6 @@ typedef struct CPUTLBCommon { | ||
161 | 161 | /* Serialize updates to tlb_table and tlb_v_table, and others as noted. */ |
162 | 162 | QemuSpin lock; |
163 | 163 | /* |
164 | - * Within pending_flush, for each bit N, there exists an outstanding | |
165 | - * cross-cpu flush for mmu_idx N. Further cross-cpu flushes to that | |
166 | - * mmu_idx may be discarded. Protected by tlb_c.lock. | |
167 | - */ | |
168 | - uint16_t pending_flush; | |
169 | - /* | |
170 | 164 | * Within dirty, for each bit N, modifications have been made to |
171 | 165 | * mmu_idx N since the last time that mmu_idx was flushed. |
172 | 166 | * Protected by tlb_c.lock. |