[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 12/17] translate-all: add page_collection ass
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PATCH v2 12/17] translate-all: add page_collection assertions |
Date: |
Mon, 23 Apr 2018 20:31:15 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Fri, Apr 13, 2018 at 17:42:45 -1000, Richard Henderson wrote:
> On 04/05/2018 04:13 PM, Emilio G. Cota wrote:
> > +static __thread bool page_collection_locked;
> > +
> > +void assert_page_collection_locked(bool val)
> > +{
> > + tcg_debug_assert(page_collection_locked == val);
> > +}
> > +
> > +static inline void set_page_collection_locked(bool val)
> > +{
> > + page_collection_locked = val;
> > +}
> > +
>
> This seems fairly fragile to me.
>
> (1) Do you ever do assert_page_collection_locked(true)?
No.
> You don't appear to do so, and it's somewhat confusing.
You're right. I think in testing I was using it, but now it
might make more sense to not take any arguments.
> (2) Why does do_page_entry_lock set "locked" and not page_collection_lock?
page_collection_lock calls page_entry_lock and page_trylock_add,
both of which end up calling do_page_entry_lock.
Thanks,
Emilio
- [Qemu-devel] [PATCH v2 13/17] translate-all: discard TB when tb_link_page returns an existing matching TB, (continued)
- [Qemu-devel] [PATCH v2 13/17] translate-all: discard TB when tb_link_page returns an existing matching TB, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 01/17] qht: require a default comparison function, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 07/17] translate-all: remove hole in PageDesc, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 09/17] translate-all: move tb_invalidate_phys_page_range up in the file, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 04/17] tcg: move tb_ctx.tb_phys_invalidate_count to tcg_ctx, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 15/17] cputlb: remove tb_lock from tlb_flush functions, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 12/17] translate-all: add page_collection assertions, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 03/17] tcg: track TBs with per-region BST's, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 14/17] translate-all: protect TB jumps with a per-destination-TB lock, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 05/17] translate-all: iterate over TBs in a page with PAGE_FOR_EACH_TB, Emilio G. Cota, 2018/04/05
- [Qemu-devel] [PATCH v2 17/17] tcg: remove tb_lock, Emilio G. Cota, 2018/04/05
- Re: [Qemu-devel] [PATCH v2 00/17] tcg: tb_lock_removal redux v2, no-reply, 2018/04/05