[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate |
Date: |
Thu, 17 Mar 2016 16:09:22 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 17/03/2016 14:46, address@hidden wrote:
> void tb_phys_invalidate(TranslationBlock *tb, tb_page_addr_t page_addr)
> {
> - CPUState *cpu;
> PageDesc *p;
> unsigned int h, n1;
> + tb_page_addr_t pc;
> tb_page_addr_t phys_pc;
> TranslationBlock *tb1, *tb2;
>
> - /* remove the TB from the hash list */
> - phys_pc = tb->page_addr[0] + (tb->pc & ~TARGET_PAGE_MASK);
> - h = tb_phys_hash_func(phys_pc);
> - tb_hash_remove(&tcg_ctx.tb_ctx.tb_phys_hash[h], tb);
> -
> - /* remove the TB from the page list */
> - if (tb->page_addr[0] != page_addr) {
> - p = page_find(tb->page_addr[0] >> TARGET_PAGE_BITS);
> - tb_page_remove(&p->first_tb, tb);
> - invalidate_page_bitmap(p);
> - }
> - if (tb->page_addr[1] != -1 && tb->page_addr[1] != page_addr) {
> - p = page_find(tb->page_addr[1] >> TARGET_PAGE_BITS);
> - tb_page_remove(&p->first_tb, tb);
> - invalidate_page_bitmap(p);
> - }
> -
> - tcg_ctx.tb_ctx.tb_invalidated_flag = 1;
> -
Did you investigate the removal of this setting of tb_invalidated_flag?
My recollection is that it is okay to remove it because at worse it
would cause a tb_add_jump from an invalidated source to a valid
destination. This should be harmless as long as the source has been
tb_phys_invalidated and not tb_flushed. But this needs to be checked.
Paolo
- [Qemu-devel] [PATCH 0/5] tcg: Misc clean-up patches from Paolo, sergey . fedorov, 2016/03/17
- [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, sergey . fedorov, 2016/03/17
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Sergey Fedorov, 2016/03/17
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Sergey Fedorov, 2016/03/28
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Paolo Bonzini, 2016/03/28
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Sergey Fedorov, 2016/03/29
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Paolo Bonzini, 2016/03/29
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Sergey Fedorov, 2016/03/29
- Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Alex Bennée, 2016/03/29
Re: [Qemu-devel] [PATCH 4/5] tcg: reorder removal from lists in tb_phys_invalidate, Sergey Fedorov, 2016/03/28