tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pmap fragmentation



If you look at the pmap(1) output for something like firefox on amd64 you see:

0000000000400000     36K read/exec         /usr/pkg/lib/xulrunner/xulrunner-bin
0000000000609000      4K read/write          [ anon ]
00007F7FC0400000     64K read/write          [ anon ]
00007F7FC0410000    960K read/write          [ anon ]
00007F7FC0500000     64K read/write          [ anon ]
00007F7FC0510000    960K read/write          [ anon ]
00007F7FC0600000     64K read/write          [ anon ]
00007F7FC0610000    960K read/write          [ anon ]
...

About 1000 on the 1300 lines are read/write anon (presumably mmap()
by the malloc code?) and they are in large blocks of adjacent entries.

Surely it would be better to merge these entries (or rather, create
them by extending the previous one)?

There has to be code to split entries during unmap - as it is valid
to unmap the middle of a mapped area. So ansty effects are unlikely.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index