<?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>75991</bug_id>
          
          <creation_ts>2012-01-10 13:52:33 -0800</creation_ts>
          <short_desc>make the code in MemoryPressureHandler::respondToMemoryPressure shareable.</short_desc>
          <delta_ts>2012-01-12 16:00:13 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun_zhang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>msaboff</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yongjun_zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>533352</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2012-01-10 13:52:33 -0800</bug_when>
    <thetext>It would be nice that the implementation inside MemoryPressureHander::respondToMemoryPressure are shareable between mac and iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533384</commentid>
    <comment_count>1</comment_count>
      <attachid>121913</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2012-01-10 14:31:44 -0800</bug_when>
    <thetext>Created attachment 121913
Move memory pressure handling code inside a new function (releaseMemory) so that we could shared it between mac and iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533387</commentid>
    <comment_count>2</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2012-01-10 14:34:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/10670958&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534506</commentid>
    <comment_count>3</comment_count>
      <attachid>121913</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-01-11 19:08:31 -0800</bug_when>
    <thetext>Comment on attachment 121913
Move memory pressure handling code inside a new function (releaseMemory) so that we could shared it between mac and iOS.

View in context: https://bugs.webkit.org/attachment.cgi?id=121913&amp;action=review

&gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:118
&gt; +    releaseMemory(false);

This boolean should ideally be an enum:
releaseMemory(Normal)
releaseMemory(Critical)

&gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:123
&gt; +void MemoryPressureHandler::releaseMemory(bool critical)
&gt; +{

What do you think about moving this to a separate common file? As it is, 90% of this file is blacklisted for iOS. Separate files are easier to maintain that #ifdef imho (although the file would be very simple in this case).

If you choose the #ifdef, do not forget to add || PLATFORM(IOS) to MemoryPressureHandler.cpp.

&gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:125
&gt; -    pageCache()-&gt;setCapacity(pageCache()-&gt;pageCount()/2);
&gt; +    pageCache()-&gt;setCapacity(critical ? 0 : pageCache()-&gt;pageCount()/2);

Spaces around operator.

&gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:131
&gt; +    [nsurlCache setMemoryCapacity:critical ? 0 : [nsurlCache currentMemoryUsage]/2];

Spaces around operator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534953</commentid>
    <comment_count>4</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2012-01-12 10:33:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 121913 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121913&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:118
&gt; &gt; +    releaseMemory(false);
&gt; 
&gt; This boolean should ideally be an enum:
&gt; releaseMemory(Normal)
&gt; releaseMemory(Critical)
&gt; 

Agree.  Currently we only have two levels, we can consider changing this to enum when new levels are introduced.

&gt; &gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:123
&gt; &gt; +void MemoryPressureHandler::releaseMemory(bool critical)
&gt; &gt; +{
&gt; 
&gt; What do you think about moving this to a separate common file? As it is, 90% of this file is blacklisted for iOS. Separate files are easier to maintain that #ifdef imho (although the file would be very simple in this case).
&gt;

I thought about that, but didn&apos;t like the idea of having a separate file with just this one function.
 
&gt; If you choose the #ifdef, do not forget to add || PLATFORM(IOS) to MemoryPressureHandler.cpp.

Ok, looks like we already had that for iOS.
&gt; 
&gt; &gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:125
&gt; &gt; -    pageCache()-&gt;setCapacity(pageCache()-&gt;pageCount()/2);
&gt; &gt; +    pageCache()-&gt;setCapacity(critical ? 0 : pageCache()-&gt;pageCount()/2);
&gt; 
&gt; Spaces around operator.
&gt; 
&gt; &gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:131
&gt; &gt; +    [nsurlCache setMemoryCapacity:critical ? 0 : [nsurlCache currentMemoryUsage]/2];
&gt; 
&gt; Spaces around operator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534984</commentid>
    <comment_count>5</comment_count>
      <attachid>122275</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2012-01-12 11:10:36 -0800</bug_when>
    <thetext>Created attachment 122275
Address review comments on previous patch.

Address Benjamin&apos;s review comments, adding || PLATFORM(IOS) to MemoryPressureHander.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535126</commentid>
    <comment_count>6</comment_count>
      <attachid>122275</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-01-12 13:44:38 -0800</bug_when>
    <thetext>Comment on attachment 122275
Address review comments on previous patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=122275&amp;action=review

&gt; Source/WebCore/platform/MemoryPressureHandler.h:48
&gt; +    void releaseMemory(bool critical);

I still feel the enum is better, even for only two values here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535250</commentid>
    <comment_count>7</comment_count>
      <attachid>122275</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 16:00:08 -0800</bug_when>
    <thetext>Comment on attachment 122275
Address review comments on previous patch.

Clearing flags on attachment: 122275

Committed r104873: &lt;http://trac.webkit.org/changeset/104873&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535251</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 16:00:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121913</attachid>
            <date>2012-01-10 14:31:44 -0800</date>
            <delta_ts>2012-01-12 11:10:36 -0800</delta_ts>
            <desc>Move memory pressure handling code inside a new function (releaseMemory) so that we could shared it between mac and iOS.</desc>
            <filename>memoryPressureHandler_oss.patch</filename>
            <type>text/plain</type>
            <size>4792</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDYzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTEwICBZb25nanVu
IFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc1OTkxCisgICAgICAgIE1ha2UgdGhlIGNvZGUgaW4gTWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVzc3VyZSBzaGFyZWFibGUuCisKKyAgICAgICAgTW92
ZSBtZW1vcnkgcHJlc3N1cmUgaGFuZGxpbmcgY29kZSBpbnNpZGUgYSBuZXcgZnVuY3Rpb24gKHJl
bGVhc2VNZW1vcnkpIHNvIHRoYXQKKyAgICAgICAgd2UgY291bGQgc2hhcmVkIGl0IGJldHdlZW4g
bWFjIGFuZCBpT1MuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmln
OiBhZGQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tIGludG8gaU9TIGJ1aWxkLgorICAgICAg
ICAqIHBsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVsZWFzZU1lbW9yeSk6CisKIDIwMTItMDEt
MTAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xl
YW4gdXAgUmVuZGVyTGF5ZXJCYWNraW5nIGNvZGUgdGhhdCBsb29rcyBmb3IgdGhlIGJvZHkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZwko
cmV2aXNpb24gMTA0NjE2KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBFWENMVURFRF9TT1VS
Q0VfRklMRV9OQU1FU19TVkdfRE9NX09CSkNfCiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19T
VkdfRE9NX09CSkNfQklORElOR1NfRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyA9IDsKIAog
RVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVT
XyQoUkVBTF9QTEFURk9STV9OQU1FKSkgJChFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19TVkdf
RE9NX09CSkNfQklORElOR1MpOwotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfaXBob25lb3Mg
PSAqLnRpZmYgKkN1cnNvci5wbmcgQ3Vyc29yLmNwcCBDdXJzb3JNYWMubW0gRXZlbnRIYW5kbGVy
TWFjLm1tIEhUTUxDb252ZXJ0ZXIubW0gS2lsbFJpbmdNYWMubW0gTWVtb3J5UHJlc3N1cmVIYW5k
bGVyTWFjLm1tIFBsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIFNTTEtleUdlbmVyYXRvck1hYy5j
cHAgU2VhcmNoUG9wdXBNZW51TWFjLm1tIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0g
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSBXZWJXaW5kb3dBbmltYXRp
b24ubW0gbG9jYWxpemVkU3RyaW5ncy5qczsKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lw
aG9uZW9zID0gKi50aWZmICpDdXJzb3IucG5nIEN1cnNvci5jcHAgQ3Vyc29yTWFjLm1tIEV2ZW50
SGFuZGxlck1hYy5tbSBIVE1MQ29udmVydGVyLm1tIEtpbGxSaW5nTWFjLm1tIFBsYXRmb3JtRXZl
bnRGYWN0b3J5TWFjLm1tIFNTTEtleUdlbmVyYXRvck1hYy5jcHAgU2VhcmNoUG9wdXBNZW51TWFj
Lm1tIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5tbSBXZWJXaW5kb3dBbmltYXRpb24ubW0gbG9jYWxpemVkU3RyaW5n
cy5qczsKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lwaG9uZXNpbXVsYXRvciA9ICQoRVhD
TFVERURfU09VUkNFX0ZJTEVfTkFNRVNfaXBob25lb3MpOwogRVhDTFVERURfU09VUkNFX0ZJTEVf
TkFNRVNfbWFjb3N4ID0gKklPUy5oICpJT1MuY3BwICpJT1MubW0gS2lsbFJpbmdOb25lLmNwcAog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuaAkocmV2aXNpb24gMTA0NjE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0
ZToKICAgICB+TWVtb3J5UHJlc3N1cmVIYW5kbGVyKCk7CiAKICAgICB2b2lkIHJlc3BvbmRUb01l
bW9yeVByZXNzdXJlKCk7CisgICAgdm9pZCByZWxlYXNlTWVtb3J5KGJvb2wgY3JpdGljYWwpOwog
CiAgICAgYm9vbCBtX2luc3RhbGxlZDsKICAgICB0aW1lX3QgbV9sYXN0UmVzcG9uZFRpbWU7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVz
c3VyZUhhbmRsZXJNYWMubW0JKHJldmlzaW9uIDEwNDYxNikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMyLDcgKzMyLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNhY2hlLmg+CiAjaW1wb3J0IDx3
dGYvRmFzdE1hbGxvYy5oPgogCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIVBM
QVRGT1JNKElPUykKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQg
PG5vdGlmeS5oPgogI2VuZGlmCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX1NOT1dfTEVPUEFSRCkKIAorI2lmICFQTEFURk9STShJT1MpCiBzdGF0aWMgZGlzcGF0Y2hf
c291cmNlX3QgX2NhY2hlX2V2ZW50X3NvdXJjZSA9IDA7CiBzdGF0aWMgZGlzcGF0Y2hfc291cmNl
X3QgX3RpbWVyX2V2ZW50X3NvdXJjZSA9IDA7CiBzdGF0aWMgaW50IF9ub3RpZnlUb2tlbjsKQEAg
LTExNCwxOSArMTE1LDI1IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9N
ZW0KIHsKICAgICBob2xkT2ZmKHNfc2Vjb25kc0JldHdlZW5NZW1vcnlDbGVhbnVwKTsKIAorICAg
IHJlbGVhc2VNZW1vcnkoZmFsc2UpOworfQorI2VuZGlmIC8vICFQTEFURk9STShJT1MpCisKK3Zv
aWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlTWVtb3J5KGJvb2wgY3JpdGljYWwpCit7
CiAgICAgaW50IHNhdmVkUGFnZUNhY2hlQ2FwYWNpdHkgPSBwYWdlQ2FjaGUoKS0+Y2FwYWNpdHko
KTsKLSAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlKCktPnBhZ2VDb3VudCgp
LzIpOworICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShjcml0aWNhbCA/IDAgOiBwYWdlQ2Fj
aGUoKS0+cGFnZUNvdW50KCkvMik7CiAgICAgcGFnZUNhY2hlKCktPnNldENhcGFjaXR5KHNhdmVk
UGFnZUNhY2hlQ2FwYWNpdHkpOwogICAgIHBhZ2VDYWNoZSgpLT5yZWxlYXNlQXV0b3JlbGVhc2Vk
UGFnZXNOb3coKTsKIAogICAgIE5TVVJMQ2FjaGUgKm5zdXJsQ2FjaGUgPSBbTlNVUkxDYWNoZSBz
aGFyZWRVUkxDYWNoZV07CiAgICAgTlNVSW50ZWdlciBzYXZlZE5zdXJsQ2FjaGVNZW1vcnlDYXBh
Y2l0eSA9IFtuc3VybENhY2hlIG1lbW9yeUNhcGFjaXR5XTsKLSAgICBbbnN1cmxDYWNoZSBzZXRN
ZW1vcnlDYXBhY2l0eTpbbnN1cmxDYWNoZSBjdXJyZW50TWVtb3J5VXNhZ2VdLzJdOworICAgIFtu
c3VybENhY2hlIHNldE1lbW9yeUNhcGFjaXR5OmNyaXRpY2FsID8gMCA6IFtuc3VybENhY2hlIGN1
cnJlbnRNZW1vcnlVc2FnZV0vMl07CiAgICAgW25zdXJsQ2FjaGUgc2V0TWVtb3J5Q2FwYWNpdHk6
c2F2ZWROc3VybENhY2hlTWVtb3J5Q2FwYWNpdHldOwotIAorCiAgICAgZm9udENhY2hlKCktPnB1
cmdlSW5hY3RpdmVGb250RGF0YSgpOwogCi0gICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmVUb1BlcmNl
bnRhZ2UoMC41Zik7CisgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmVUb1BlcmNlbnRhZ2UoY3JpdGlj
YWwgPyAwIDogMC41Zik7CiAKICAgICBnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE5vdygp
OwogCg==
</data>
<flag name="review"
          id="122563"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="122875"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122275</attachid>
            <date>2012-01-12 11:10:36 -0800</date>
            <delta_ts>2012-01-12 16:00:08 -0800</delta_ts>
            <desc>Address review comments on previous patch.</desc>
            <filename>memoryPressureHandler_oss.patch</filename>
            <type>text/plain</type>
            <size>5414</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDYzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTEwICBZb25nanVu
IFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc1OTkxCisgICAgICAgIE1ha2UgdGhlIGNvZGUgaW4gTWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVzc3VyZSBzaGFyZWFibGUuCisKKyAgICAgICAgTW92
ZSBtZW1vcnkgcHJlc3N1cmUgaGFuZGxpbmcgY29kZSBpbnNpZGUgYSBuZXcgZnVuY3Rpb24gKHJl
bGVhc2VNZW1vcnkpIHNvIHRoYXQKKyAgICAgICAgd2UgY291bGQgc2hhcmVkIGl0IGJldHdlZW4g
bWFjIGFuZCBpT1MuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmln
OiBhZGQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tIGludG8gaU9TIGJ1aWxkLgorICAgICAg
ICAqIHBsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVsZWFzZU1lbW9yeSk6CisKIDIwMTItMDEt
MTAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xl
YW4gdXAgUmVuZGVyTGF5ZXJCYWNraW5nIGNvZGUgdGhhdCBsb29rcyBmb3IgdGhlIGJvZHkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZwko
cmV2aXNpb24gMTA0NjE2KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBFWENMVURFRF9TT1VS
Q0VfRklMRV9OQU1FU19TVkdfRE9NX09CSkNfCiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19T
VkdfRE9NX09CSkNfQklORElOR1NfRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyA9IDsKIAog
RVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVT
XyQoUkVBTF9QTEFURk9STV9OQU1FKSkgJChFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19TVkdf
RE9NX09CSkNfQklORElOR1MpOwotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfaXBob25lb3Mg
PSAqLnRpZmYgKkN1cnNvci5wbmcgQ3Vyc29yLmNwcCBDdXJzb3JNYWMubW0gRXZlbnRIYW5kbGVy
TWFjLm1tIEhUTUxDb252ZXJ0ZXIubW0gS2lsbFJpbmdNYWMubW0gTWVtb3J5UHJlc3N1cmVIYW5k
bGVyTWFjLm1tIFBsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIFNTTEtleUdlbmVyYXRvck1hYy5j
cHAgU2VhcmNoUG9wdXBNZW51TWFjLm1tIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0g
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSBXZWJXaW5kb3dBbmltYXRp
b24ubW0gbG9jYWxpemVkU3RyaW5ncy5qczsKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lw
aG9uZW9zID0gKi50aWZmICpDdXJzb3IucG5nIEN1cnNvci5jcHAgQ3Vyc29yTWFjLm1tIEV2ZW50
SGFuZGxlck1hYy5tbSBIVE1MQ29udmVydGVyLm1tIEtpbGxSaW5nTWFjLm1tIFBsYXRmb3JtRXZl
bnRGYWN0b3J5TWFjLm1tIFNTTEtleUdlbmVyYXRvck1hYy5jcHAgU2VhcmNoUG9wdXBNZW51TWFj
Lm1tIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5tbSBXZWJXaW5kb3dBbmltYXRpb24ubW0gbG9jYWxpemVkU3RyaW5n
cy5qczsKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2lwaG9uZXNpbXVsYXRvciA9ICQoRVhD
TFVERURfU09VUkNFX0ZJTEVfTkFNRVNfaXBob25lb3MpOwogRVhDTFVERURfU09VUkNFX0ZJTEVf
TkFNRVNfbWFjb3N4ID0gKklPUy5oICpJT1MuY3BwICpJT1MubW0gS2lsbFJpbmdOb25lLmNwcAog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAJKHJldmlzaW9uIDEwNDYxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
bW9yeVByZXNzdXJlSGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpNZW1vcnlQcmVzc3VyZUhhbgogewogfQogCi0jaWYgIVBM
QVRGT1JNKE1BQykgfHwgZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSB8fCBkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhUExBVEZPUk0oTUFDKSB8fCBkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpIHx8IGRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSB8
fCBQTEFURk9STShJT1MpCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpIHsg
fQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dW5pbnN0YWxsKCkgeyB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAkocmV2
aXNpb24gMTA0NjE2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKICAgICB+
TWVtb3J5UHJlc3N1cmVIYW5kbGVyKCk7CiAKICAgICB2b2lkIHJlc3BvbmRUb01lbW9yeVByZXNz
dXJlKCk7CisgICAgdm9pZCByZWxlYXNlTWVtb3J5KGJvb2wgY3JpdGljYWwpOwogCiAgICAgYm9v
bCBtX2luc3RhbGxlZDsKICAgICB0aW1lX3QgbV9sYXN0UmVzcG9uZFRpbWU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXJNYWMubW0JKHJldmlzaW9uIDEwNDYxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMy
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNhY2hlLmg+CiAjaW1wb3J0IDx3dGYvRmFzdE1h
bGxvYy5oPgogCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIVBMQVRGT1JNKElP
UykKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPG5vdGlmeS5o
PgogI2VuZGlmCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkKIAorI2lmICFQTEFURk9STShJT1MpCiBzdGF0aWMgZGlzcGF0Y2hfc291cmNlX3Qg
X2NhY2hlX2V2ZW50X3NvdXJjZSA9IDA7CiBzdGF0aWMgZGlzcGF0Y2hfc291cmNlX3QgX3RpbWVy
X2V2ZW50X3NvdXJjZSA9IDA7CiBzdGF0aWMgaW50IF9ub3RpZnlUb2tlbjsKQEAgLTExNCwxOSAr
MTE1LDI1IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9NZW0KIHsKICAg
ICBob2xkT2ZmKHNfc2Vjb25kc0JldHdlZW5NZW1vcnlDbGVhbnVwKTsKIAorICAgIHJlbGVhc2VN
ZW1vcnkoZmFsc2UpOworfQorI2VuZGlmIC8vICFQTEFURk9STShJT1MpCisKK3ZvaWQgTWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlTWVtb3J5KGJvb2wgY3JpdGljYWwpCit7CiAgICAgaW50
IHNhdmVkUGFnZUNhY2hlQ2FwYWNpdHkgPSBwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKTsKLSAgICBw
YWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlKCktPnBhZ2VDb3VudCgpLzIpOworICAg
IHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShjcml0aWNhbCA/IDAgOiBwYWdlQ2FjaGUoKS0+cGFn
ZUNvdW50KCkgLyAyKTsKICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoc2F2ZWRQYWdlQ2Fj
aGVDYXBhY2l0eSk7CiAgICAgcGFnZUNhY2hlKCktPnJlbGVhc2VBdXRvcmVsZWFzZWRQYWdlc05v
dygpOwogCiAgICAgTlNVUkxDYWNoZSAqbnN1cmxDYWNoZSA9IFtOU1VSTENhY2hlIHNoYXJlZFVS
TENhY2hlXTsKICAgICBOU1VJbnRlZ2VyIHNhdmVkTnN1cmxDYWNoZU1lbW9yeUNhcGFjaXR5ID0g
W25zdXJsQ2FjaGUgbWVtb3J5Q2FwYWNpdHldOwotICAgIFtuc3VybENhY2hlIHNldE1lbW9yeUNh
cGFjaXR5Oltuc3VybENhY2hlIGN1cnJlbnRNZW1vcnlVc2FnZV0vMl07CisgICAgW25zdXJsQ2Fj
aGUgc2V0TWVtb3J5Q2FwYWNpdHk6Y3JpdGljYWwgPyAwIDogW25zdXJsQ2FjaGUgY3VycmVudE1l
bW9yeVVzYWdlXSAvIDJdOwogICAgIFtuc3VybENhY2hlIHNldE1lbW9yeUNhcGFjaXR5OnNhdmVk
TnN1cmxDYWNoZU1lbW9yeUNhcGFjaXR5XTsKLSAKKwogICAgIGZvbnRDYWNoZSgpLT5wdXJnZUlu
YWN0aXZlRm9udERhdGEoKTsKIAotICAgIG1lbW9yeUNhY2hlKCktPnBydW5lVG9QZXJjZW50YWdl
KDAuNWYpOworICAgIG1lbW9yeUNhY2hlKCktPnBydW5lVG9QZXJjZW50YWdlKGNyaXRpY2FsID8g
MCA6IDAuNWYpOwogCiAgICAgZ2NDb250cm9sbGVyKCkuZ2FyYmFnZUNvbGxlY3ROb3coKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>