Extracting the starting address of the arena_run_t from the mapping information present in arena_chunk_t for each page
shireesh bhat
shireeshbhat at yahoo.co.in
Thu Jul 17 13:47:59 PDT 2014
[Adding jemalloc-discuss group]
On Thursday, 17 July 2014 4:29 PM, shireesh bhat <shireeshbhat at yahoo.co.in> wrote:
Hi Jason,
Suppose I have an arena_chunk and the map has the following information
map[0].bits = 0x3ff8
map[1].bits = 0x2ff8
map[2].bits = 0x3ff8
map[3].bits = 0x149
0x149 = 101001001
In this example
Only map[3] points to an allocated page and it is a small allocation and the bin index is 0x14 but I don't have any page offset. This is the case with many small allocations and I don't have any page offset.
Since I am running on a 32 bit machine, I use the following layout mentioned in the explanation of arena_chunk_map_s
???????? ???????? ????nnnn nnnndula
Can you please tell me If I am missing something very basic.
Regards,
Shireesh
On Thursday, 17 July 2014 3:31 PM, Jason Evans <jasone at canonware.com> wrote:
On Jul 17, 2014, at 11:28 AM, shireesh bhat <shireeshbhat at yahoo.co.in> wrote:
Even if I find out the page's offset how do I find the address of arena_run_t, since I just know the mapping information for every page which is present in arena_chunk_t.
Take a close look at the header comments for struct arena_chunk_map_s. The information is in the chunk's page map, which it sounds like you've already figured out how to access.
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jemalloc.net/mailman/jemalloc-discuss/attachments/20140718/11e6ba07/attachment.html>
More information about the jemalloc-discuss
mailing list