[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: |
Thu, 10 May 2018 17:37:05 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Apr 23, 2018 at 20:31:15 -0400, Emilio G. Cota wrote:
> 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.
I've simplified this is in v3 to rely on the per-thread
hash map of locked pages.
E.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 12/17] translate-all: add page_collection assertions,
Emilio G. Cota <=