<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>111605</bug_id>
          
          <creation_ts>2013-03-06 11:30:10 -0800</creation_ts>
          <short_desc>[Qt] QWebSettings::clearMemoryCaches should release FastMalloc&apos;s free pages to OS</short_desc>
          <delta_ts>2013-03-08 05:46:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>EasyFix</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>111094</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Arunprasad">ararunprasad</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>arurajku</cc>
    
    <cc>jbriance</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>849124</commentid>
    <comment_count>0</comment_count>
    <who name="Arunprasad">ararunprasad</who>
    <bug_when>2013-03-06 11:30:10 -0800</bug_when>
    <thetext>Should behave like MemoryPressureHandler::releaseMemory @ MemoryPressureHandlerMac.mm.

 +    WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads();
 +#if ENABLE(WORKERS)
 +    WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads();
 +#endif
 +    WTF::releaseFastMallocFreeMemory();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850257</commentid>
    <comment_count>1</comment_count>
    <who name="Arunprasad">ararunprasad</who>
    <bug_when>2013-03-07 10:35:55 -0800</bug_when>
    <thetext>WTF&apos;s FastMalloc(TCMalloc) logic implements memory management which is optimized for faster allocation and release. FastMalloc maintains free-list for each thread and one central list per process to avoid semaphore locking overhead(lock contention). Periodically thread specific free blocks will be moved to central free-list then it will be released back to system using special thread named &quot;scavenger&quot;.

Incase of memory pressure free-blocks scattered around threads should be released back to OS, so that other processes can use the memory. 

So modifying QWebSettings::clearMemoryCaches to call FastMalloc&apos;s page release functions.

I will upload the patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850272</commentid>
    <comment_count>2</comment_count>
      <attachid>192045</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-03-07 10:49:09 -0800</bug_when>
    <thetext>Created attachment 192045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850284</commentid>
    <comment_count>3</comment_count>
      <attachid>192046</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-03-07 10:55:58 -0800</bug_when>
    <thetext>Created attachment 192046
#include &lt;wtf/Functional.h&gt; inclusion is not needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851095</commentid>
    <comment_count>4</comment_count>
      <attachid>192046</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-08 05:22:40 -0800</bug_when>
    <thetext>Comment on attachment 192046
#include &lt;wtf/Functional.h&gt; inclusion is not needed

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851109</commentid>
    <comment_count>5</comment_count>
      <attachid>192046</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-08 05:45:59 -0800</bug_when>
    <thetext>Comment on attachment 192046
#include &lt;wtf/Functional.h&gt; inclusion is not needed

Clearing flags on attachment: 192046

Committed r145211: &lt;http://trac.webkit.org/changeset/145211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851110</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-08 05:46:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192045</attachid>
            <date>2013-03-07 10:49:09 -0800</date>
            <delta_ts>2013-03-07 10:55:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111605-20130308001511.patch</filename>
            <type>text/plain</type>
            <size>1887</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDUxMDApCisrKyBTb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAzLTA3ICBB
cnVucHJhc2FkIFJhamt1bWFyICA8YXJ1bnByYXNhZHJAbmRzLmNvbT4KKworICAgICAgICBbUXRd
IFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1vcnlDYWNoZXMgc2hvdWxkIHJlbGVhc2UgRmFzdE1hbGxv
YydzIGZyZWUgcGFnZXMgdG8gT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMTYwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGlu
Z3M6OmNsZWFyTWVtb3J5Q2FjaGVzKToKKwogMjAxMy0wMy0wNyAgQXJ1bnByYXNhZCBSYWprdW1h
ciAgPGFydW5wcmFzYWRyQG5kcy5jb20+CiAKICAgICAgICAgW1F0XSBRV2ViU2V0dGluZ3M6OmNs
ZWFyTWVtb3J5Q2FjaGVzIHNob3VsZCBjbGVhciBKUyBnYXJiYWdlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDE0NTA4NykKKysrIFNvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDgg
QEAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlN0b3JhZ2VUaHJl
YWQuaCIKKyNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxRRGlyPgogI2luY2x1
ZGUgPFFGaWxlSW5mbz4KICNpbmNsdWRlIDxRRm9udD4KQEAgLTUxLDYgKzUzLDggQEAKICNpbmNs
dWRlIDxRU2hhcmVkRGF0YT4KICNpbmNsdWRlIDxRU3RhbmRhcmRQYXRocz4KICNpbmNsdWRlIDxR
VXJsPgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9u
YWwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogCkBAIC04NDUsNiArODQ5
LDEzIEBAIHZvaWQgUVdlYlNldHRpbmdzOjpjbGVhck1lbW9yeUNhY2hlcygpCiAgICAgV2ViQ29y
ZTo6Z2NDb250cm9sbGVyKCkuZGlzY2FyZEFsbENvbXBpbGVkQ29kZSgpOwogICAgIC8vIEdhcmJh
Z2UgQ29sbGVjdCB0byByZWxlYXNlIHRoZSByZWZlcmVuY2VzIG9mIENhY2hlZFJlc291cmNlIGZy
b20gZGVhZCBvYmplY3RzLgogICAgIFdlYkNvcmU6OmdjQ29udHJvbGxlcigpLmdhcmJhZ2VDb2xs
ZWN0Tm93KCk7CisKKyAgICAvLyBGYXN0TWFsbG9jIGhhcyBsb2NrLWZyZWUgdGhyZWFkIHNwZWNp
ZmljIGNhY2hlcyB0aGF0IGNhbiBvbmx5IGJlIGNsZWFyZWQgZnJvbSB0aGUgdGhyZWFkIGl0c2Vs
Zi4KKyAgICBXZWJDb3JlOjpTdG9yYWdlVGhyZWFkOjpyZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1v
cnlJbkFsbFRocmVhZHMoKTsKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBXZWJDb3JlOjpXb3Jr
ZXJUaHJlYWQ6OnJlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUluQWxsVGhyZWFkcygpOworI2Vu
ZGlmCisgICAgV1RGOjpyZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1vcnkoKTsgICAgICAgIAogfQog
CiAvKiEK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192046</attachid>
            <date>2013-03-07 10:55:58 -0800</date>
            <delta_ts>2013-03-08 05:45:59 -0800</delta_ts>
            <desc>#include &lt;wtf/Functional.h&gt; inclusion is not needed</desc>
            <filename>bug-111605-20130308002200.patch</filename>
            <type>text/plain</type>
            <size>1858</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDUxMDApCisrKyBTb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAzLTA3ICBB
cnVucHJhc2FkIFJhamt1bWFyICA8YXJ1bnByYXNhZHJAbmRzLmNvbT4KKworICAgICAgICBbUXRd
IFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1vcnlDYWNoZXMgc2hvdWxkIHJlbGVhc2UgRmFzdE1hbGxv
YydzIGZyZWUgcGFnZXMgdG8gT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMTYwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGlu
Z3M6OmNsZWFyTWVtb3J5Q2FjaGVzKToKKwogMjAxMy0wMy0wNyAgQXJ1bnByYXNhZCBSYWprdW1h
ciAgPGFydW5wcmFzYWRyQG5kcy5jb20+CiAKICAgICAgICAgW1F0XSBRV2ViU2V0dGluZ3M6OmNs
ZWFyTWVtb3J5Q2FjaGVzIHNob3VsZCBjbGVhciBKUyBnYXJiYWdlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDE0NTA4NykKKysrIFNvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDgg
QEAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlN0b3JhZ2VUaHJl
YWQuaCIKKyNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxRRGlyPgogI2luY2x1
ZGUgPFFGaWxlSW5mbz4KICNpbmNsdWRlIDxRRm9udD4KQEAgLTUxLDYgKzUzLDcgQEAKICNpbmNs
dWRlIDxRU2hhcmVkRGF0YT4KICNpbmNsdWRlIDxRU3RhbmRhcmRQYXRocz4KICNpbmNsdWRlIDxR
VXJsPgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKIApAQCAtODQ1LDYgKzg0OCwxMyBAQCB2b2lkIFFXZWJTZXR0aW5nczo6Y2xl
YXJNZW1vcnlDYWNoZXMoKQogICAgIFdlYkNvcmU6OmdjQ29udHJvbGxlcigpLmRpc2NhcmRBbGxD
b21waWxlZENvZGUoKTsKICAgICAvLyBHYXJiYWdlIENvbGxlY3QgdG8gcmVsZWFzZSB0aGUgcmVm
ZXJlbmNlcyBvZiBDYWNoZWRSZXNvdXJjZSBmcm9tIGRlYWQgb2JqZWN0cy4KICAgICBXZWJDb3Jl
OjpnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE5vdygpOworCisgICAgLy8gRmFzdE1hbGxv
YyBoYXMgbG9jay1mcmVlIHRocmVhZCBzcGVjaWZpYyBjYWNoZXMgdGhhdCBjYW4gb25seSBiZSBj
bGVhcmVkIGZyb20gdGhlIHRocmVhZCBpdHNlbGYuCisgICAgV2ViQ29yZTo6U3RvcmFnZVRocmVh
ZDo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5SW5BbGxUaHJlYWRzKCk7CisjaWYgRU5BQkxF
KFdPUktFUlMpCisgICAgV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpyZWxlYXNlRmFzdE1hbGxvY0Zy
ZWVNZW1vcnlJbkFsbFRocmVhZHMoKTsKKyNlbmRpZgorICAgIFdURjo6cmVsZWFzZUZhc3RNYWxs
b2NGcmVlTWVtb3J5KCk7ICAgICAgICAKIH0KIAogLyohCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>