Summary: | libfontconfig has large non-constant (unsharable) data arrays | ||
---|---|---|---|
Product: | fontconfig | Reporter: | Tilman Sauerbeck <tilman> |
Component: | library | Assignee: | Keith Packard <keithp> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | shawn.p.huang |
Version: | 2.4 | Keywords: | patch |
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
0001-Put-language-table-in-read-only-memory.patch
0002-Store-glyph-names-in-read-only-memory.patch 0003-Store-FcCodePageRange-in-read-only-memory.patch 0004-Store-FcNoticeFoundries-in-read-only-memory.patch 0005-Store-FcVendorFoundries-in-read-only-memory.patch |
Description
Tilman Sauerbeck
2007-05-17 10:15:01 UTC
Created attachment 10001 [details] [review] 0001-Put-language-table-in-read-only-memory.patch Created attachment 10002 [details] [review] 0002-Store-glyph-names-in-read-only-memory.patch Created attachment 10003 [details] [review] 0003-Store-FcCodePageRange-in-read-only-memory.patch Created attachment 10004 [details] [review] 0004-Store-FcNoticeFoundries-in-read-only-memory.patch Created attachment 10005 [details] [review] 0005-Store-FcVendorFoundries-in-read-only-memory.patch Below is cut from /proc/PID/smaps of gedit process . Although data section of the binary image is huge, the Private_Dirty of the data section is only 4kB and most pages of it are shared. The Linux system will not allocate a new page for data section until a page of data section become dirty (be written), and those strings will not be written forever. So it is not a big problem in Linux. :) (But I don't know other OS how to deal it.:-/ ) 4c8c2000-4c8e9000 r-xp 00000000 08:08 1518987 /usr/lib/libfontconfig.so.1.2.0 Size: 156 kB Rss: 124 kB Shared_Clean: 124 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 124 kB 4c8e9000-4c8f1000 rwxp 00027000 08:08 1518987 /usr/lib/libfontconfig.so.1.2.0 Size: 32 kB Rss: 12 kB Shared_Clean: 8 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 4 kB Referenced: 12 kB Thanks; I've pushed all of these changes. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.