lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20140721223637.GU30979@8bytes.org> Date: Tue, 22 Jul 2014 00:36:37 +0200 From: Joerg Roedel <joro@...tes.org> To: Pavel Machek <pavel@....cz> Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>, Len Brown <len.brown@...el.com>, linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org, Joerg Roedel <jroedel@...e.de> Subject: Re: [PATCH 1/6] PM / Hibernate: Create a Radix-Tree to store memory bitmap 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. Note that the above diff leaves the old code around because the old memory bitmap implementation is not removed before patch 5/6 (which also removes the old computation). So the final code will only have the new size calculation in it. Do you have any more concerns? Joerg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists