Re: [Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode

2018-05-08 Thread Emilio G. Cota
Hi Richard, On Mon, Apr 23, 2018 at 20:18:31 -0400, Emilio G. Cota wrote: > On Fri, Apr 13, 2018 at 17:29:20 -1000, Richard Henderson wrote: > > On 04/05/2018 04:13 PM, Emilio G. Cota wrote: > (snip) > > > +struct page_collection { > > > +GTree *tree; > > > +struct page_entry *max; > > > +

Re: [Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode

2018-04-23 Thread Emilio G. Cota
On Thu, Apr 05, 2018 at 22:13:01 -0400, Emilio G. Cota wrote: > +/* > + * Lock a range of pages ([@start,@end[) as well as the pages of all > + * intersecting TBs. > + * Locking order: acquire locks in ascending order of page index. > + */ > +struct page_collection * > +page_collection_lock(tb_page

Re: [Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode

2018-04-23 Thread Emilio G. Cota
On Fri, Apr 13, 2018 at 17:29:20 -1000, Richard Henderson wrote: > On 04/05/2018 04:13 PM, Emilio G. Cota wrote: (snip) > > +struct page_collection { > > +GTree *tree; > > +struct page_entry *max; > > +}; > > I don't understand the motivation for this data structure. Substituting one > tr

Re: [Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode

2018-04-13 Thread Richard Henderson
On 04/05/2018 04:13 PM, Emilio G. Cota wrote: > +/** > + * struct page_collection - tracks a set of pages (i.e. &struct page_entry's) > + * @tree: Binary search tree (BST) of the pages, with key == page index > + * @max:Pointer to the page in @tree with the highest page index > + * > + * To a

[Qemu-devel] [PATCH v2 10/17] translate-all: use per-page locking in !user-mode

2018-04-05 Thread Emilio G. Cota
Groundwork for supporting parallel TCG generation. Instead of using a global lock (tb_lock) to protect changes to pages, use fine-grained, per-page locks in !user-mode. User-mode stays with mmap_lock. Sometimes changes need to happen atomically on more than one page (e.g. when a TB that spans acr