Messages in this thread | | | Date | Tue, 22 Jul 2014 01:05:30 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH 1/6] PM / Hibernate: Create a Radix-Tree to store memory bitmap |
| |
On Tue 2014-07-22 00:36:37, Joerg Roedel wrote: > Pavel, > > On Mon, Jul 21, 2014 at 12:26:57PM +0200, Joerg Roedel wrote: > > unsigned int snapshot_additional_pages(struct zone *zone) > > { > > + unsigned int rtree, nodes; > > unsigned int res; > > > > res = DIV_ROUND_UP(zone->spanned_pages, BM_BITS_PER_BLOCK); > > res += DIV_ROUND_UP(res * sizeof(struct bm_block), > > LINKED_PAGE_DATA_SIZE); > > - return 2 * res; > > + rtree = nodes = DIV_ROUND_UP(zone->spanned_pages, BM_BITS_PER_BLOCK); > > + rtree += DIV_ROUND_UP(rtree * sizeof(struct rtree_node), > > + LINKED_PAGE_DATA_SIZE); > > + while (nodes > 1) { > > + nodes = DIV_ROUND_UP(nodes, BM_ENTRIES_PER_LEVEL); > > + rtree += nodes; > > + } > > + > > + return 2 * (res + rtree); > > } > > Since you asked in another mail if I took the new data structure size > requirements into account, here is the code I added for this > computation.
Yep, thanks, I found it in the meantime. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |