<?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>208413</bug_id>
          
          <creation_ts>2020-02-29 08:07:53 -0800</creation_ts>
          <short_desc>Support function dispatch priorities in RunLoop</short_desc>
          <delta_ts>2020-02-29 08:11:48 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624277</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-02-29 08:07:53 -0800</bug_when>
    <thetext>The web process main thread RunLoop is often very busy and has lots of pending tasks. Important work may end up getting delayed by less important work. 

Add support for function dispatch priorities in RunLoop. They can be later used to implement IPC priorities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624278</commentid>
    <comment_count>1</comment_count>
      <attachid>392060</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-02-29 08:11:05 -0800</bug_when>
    <thetext>Created attachment 392060
wip</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392060</attachid>
            <date>2020-02-29 08:11:05 -0800</date>
            <delta_ts>2020-02-29 08:11:05 -0800</delta_ts>
            <desc>wip</desc>
            <filename>runloop-priorities.patch</filename>
            <type>text/plain</type>
            <size>6520</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuY3BwIGIvU291cmNlL1dURi93dGYv
UnVuTG9vcC5jcHAKaW5kZXggYTBhMjhlODIyYzQuLjkyOGVhYTdlMjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNw
cApAQCAtOTUsMTQgKzk1LDE0IEBAIHZvaWQgUnVuTG9vcDo6cGVyZm9ybVdvcmsoKQogICAgIGJv
b2wgZGlkU3VzcGVuZEZ1bmN0aW9ucyA9IGZhbHNlOwogCiAgICAgZm9yIChzaXplX3QgZnVuY3Rp
b25zSGFuZGxlZCA9IDA7IGZ1bmN0aW9uc0hhbmRsZWQgPCBmdW5jdGlvbnNUb0hhbmRsZTsgKytm
dW5jdGlvbnNIYW5kbGVkKSB7Ci0gICAgICAgIEZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uOwor
ICAgICAgICBGdW5jdGlvbkhlYXBFbnRyeSBmdW5jdGlvbkhlYXBFbnRyeTsKICAgICAgICAgewot
ICAgICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2Z1bmN0aW9uUXVldWVMb2NrKTsK
KyAgICAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9mdW5jdGlvbkhlYXBMb2NrKTsK
IAogICAgICAgICAgICAgLy8gRXZlbiBpZiB3ZSBzdGFydCBvZmYgd2l0aCBOIGZ1bmN0aW9ucyB0
byBoYW5kbGUgYW5kIHdlJ3ZlIG9ubHkgaGFuZGxlZCBsZXNzIHRoYW4gTiBmdW5jdGlvbnMsIHRo
ZSBxdWV1ZQogICAgICAgICAgICAgLy8gc3RpbGwgbWlnaHQgYmUgZW1wdHkgYmVjYXVzZSB0aG9z
ZSBmdW5jdGlvbnMgbWlnaHQgaGF2ZSBiZWVuIGhhbmRsZWQgaW4gYW4gaW5uZXIgUnVuTG9vcDo6
cGVyZm9ybVdvcmsoKS4KICAgICAgICAgICAgIC8vIEluIHRoYXQgY2FzZSB3ZSBzaG91bGQgYmFp
bCBoZXJlLgotICAgICAgICAgICAgaWYgKG1fZnVuY3Rpb25RdWV1ZS5pc0VtcHR5KCkpCisgICAg
ICAgICAgICBpZiAobV9mdW5jdGlvbkhlYXAuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGJy
ZWFrOwogCiAgICAgICAgICAgICBpZiAobV9pc0Z1bmN0aW9uRGlzcGF0Y2hTdXNwZW5kZWQpIHsK
QEAgLTExMSwxMiArMTExLDEzIEBAIHZvaWQgUnVuTG9vcDo6cGVyZm9ybVdvcmsoKQogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICBpZiAoIWZ1bmN0aW9uc0hhbmRsZWQpCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb25zVG9IYW5kbGUgPSBtX2Z1bmN0aW9uUXVldWUuc2l6ZSgpOworICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uc1RvSGFuZGxlID0gbV9mdW5jdGlvbkhlYXAuc2l6ZSgpOwogCi0g
ICAgICAgICAgICBmdW5jdGlvbiA9IG1fZnVuY3Rpb25RdWV1ZS50YWtlRmlyc3QoKTsKKyAgICAg
ICAgICAgIHN0ZDo6cG9wX2hlYXAobV9mdW5jdGlvbkhlYXAuYmVnaW4oKSwgbV9mdW5jdGlvbkhl
YXAuZW5kKCkpOworICAgICAgICAgICAgZnVuY3Rpb25IZWFwRW50cnkgPSBtX2Z1bmN0aW9uSGVh
cC50YWtlTGFzdCgpOwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbigpOwor
CisgICAgICAgIGZ1bmN0aW9uSGVhcEVudHJ5LmZ1bmN0aW9uKCk7CiAgICAgfQogCiAgICAgLy8g
U3VzcGVuZCBvbmx5IGZvciBhIHNpbmdsZSBjeWNsZS4KQEAgLTEyNywxMSArMTI4LDEzIEBAIHZv
aWQgUnVuTG9vcDo6cGVyZm9ybVdvcmsoKQogICAgICAgICB3YWtlVXAoKTsKIH0KIAotdm9pZCBS
dW5Mb29wOjpkaXNwYXRjaChGdW5jdGlvbjx2b2lkICgpPiYmIGZ1bmN0aW9uKQordm9pZCBSdW5M
b29wOjpkaXNwYXRjaChQcmlvcml0eSBwcmlvcml0eSwgRnVuY3Rpb248dm9pZCAoKT4mJiBmdW5j
dGlvbikKIHsKICAgICB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9mdW5jdGlv
blF1ZXVlTG9jayk7Ci0gICAgICAgIG1fZnVuY3Rpb25RdWV1ZS5hcHBlbmQoV1RGTW92ZShmdW5j
dGlvbikpOworICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fZnVuY3Rpb25IZWFwTG9j
ayk7CisKKyAgICAgICAgbV9mdW5jdGlvbkhlYXAuYXBwZW5kKHsgV1RGTW92ZShmdW5jdGlvbiks
IHByaW9yaXR5LCArK21fZnVuY3Rpb25EaXNwYXRjaENvdW50IH0pOworICAgICAgICBzdGQ6OnB1
c2hfaGVhcChtX2Z1bmN0aW9uSGVhcC5iZWdpbigpLCBtX2Z1bmN0aW9uSGVhcC5lbmQoKSk7CiAg
ICAgfQogCiAgICAgd2FrZVVwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29w
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNzI4ZjdlM2Q3N2YuLjE3NmFhNWJm
OWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUnVuTG9vcC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgPHd0Zi9Db25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbkRpc3BhdGNoZXIuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNTUsNyArNTQsNyBAQCB1c2luZyBSdW5Mb29wTW9kZSA9
IHVuc2lnbmVkOwogI2RlZmluZSBEZWZhdWx0UnVuTG9vcE1vZGUgMAogI2VuZGlmCiAKLWNsYXNz
IFJ1bkxvb3AgOiBwdWJsaWMgRnVuY3Rpb25EaXNwYXRjaGVyIHsKK2NsYXNzIFJ1bkxvb3AgZmlu
YWwgOiBwdWJsaWMgRnVuY3Rpb25EaXNwYXRjaGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSdW5Mb29wKTsKIHB1YmxpYzoKICAgICAvLyBNdXN0IGJlIGNhbGxlZCBmcm9tIHRoZSBtYWlu
IHRocmVhZCAoZXhjZXB0IGZvciB0aGUgTWFjIHBsYXRmb3JtLCB3aGVyZSBpdApAQCAtNjcsNyAr
NjYsMTMgQEAgcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc01h
aW4oKTsKICAgICB+UnVuTG9vcCgpOwogCi0gICAgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lk
KCk+JiYpIG92ZXJyaWRlOworICAgIC8vIFBlbmRpbmcgaGlnaGVyIHByaW9yaXR5IGZ1bmN0aW9u
cyBhcmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBsb3dlciBwcmlvcml0eSBvbmVzLgorICAgIC8vIEVx
dWFsIHByaW9yaXR5IGZ1bmN0aW9ucyBhcmUgZXhlY3V0ZWQgaW4gZGlzcGF0Y2ggb3JkZXIuCisg
ICAgdXNpbmcgUHJpb3JpdHkgPSBpbnQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBQcmlvcml0eSBk
ZWZhdWx0UHJpb3JpdHkgeyAwIH07CisKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNw
YXRjaChQcmlvcml0eSwgRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICB2b2lkIGRpc3BhdGNoKEZ1
bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikgb3ZlcnJpZGUgeyBkaXNwYXRjaChkZWZhdWx0UHJp
b3JpdHksIFdURk1vdmUoZnVuY3Rpb24pKTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyB2b2lkIHJ1bigpOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKQEAg
LTE4Myw4ICsxODgsMjMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGVyZm9ybVdvcmsoKTsKIAot
ICAgIExvY2sgbV9mdW5jdGlvblF1ZXVlTG9jazsKLSAgICBEZXF1ZTxGdW5jdGlvbjx2b2lkKCk+
PiBtX2Z1bmN0aW9uUXVldWU7CisgICAgTG9jayBtX2Z1bmN0aW9uSGVhcExvY2s7CisKKyAgICBz
dHJ1Y3QgRnVuY3Rpb25IZWFwRW50cnkgeworICAgICAgICBGdW5jdGlvbjx2b2lkKCk+IGZ1bmN0
aW9uOworICAgICAgICBQcmlvcml0eSBwcmlvcml0eTsKKyAgICAgICAgc2l6ZV90IG9yZGluYWw7
CisKKyAgICAgICAgYm9vbCBvcGVyYXRvcjwoY29uc3QgUnVuTG9vcDo6RnVuY3Rpb25IZWFwRW50
cnkmIG90aGVyKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAocHJpb3JpdHkgPT0g
b3RoZXIucHJpb3JpdHkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG9yZGluYWwgPiBvdGhlci5v
cmRpbmFsOworICAgICAgICAgICAgcmV0dXJuIHByaW9yaXR5IDwgb3RoZXIucHJpb3JpdHk7Cisg
ICAgICAgIH0KKyAgICB9OworICAgIFZlY3RvcjxGdW5jdGlvbkhlYXBFbnRyeT4gbV9mdW5jdGlv
bkhlYXA7CisgICAgc2l6ZV90IG1fZnVuY3Rpb25EaXNwYXRjaENvdW50IHsgMCB9OworCiAgICAg
Ym9vbCBtX2lzRnVuY3Rpb25EaXNwYXRjaFN1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2hhc1N1c3BlbmRlZEZ1bmN0aW9ucyB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVy
ZVNvdXJjZS5oCmluZGV4IGE2MWMxODZmMjhkLi4yN2ZjNmRkNzNlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZp
ZGVvQ2FwdHVyZVNvdXJjZS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiTWVkaWFTYW1w
bGUuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCiAjaW5jbHVkZSAiVmlkZW9Q
cmVzZXQuaCIKKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgog
I2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UnVuTG9vcC5jcHAKaW5kZXggMjkwZTVmNmYwOTAuLjljZWE0OWVjMzUyIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRlICJMb2dnZXIuaCIKICNpbmNsdWRlICJVdGlsaXRp
ZXMuaCIKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KQEAgLTE0NSw0ICsxNDYsNDggQEAgVEVTVChXVEZfUnVuTG9vcCwgTWFueVRpbWVzKQogICAg
IH0pLT53YWl0Rm9yQ29tcGxldGlvbigpOwogfQogCitURVNUKFdURl9SdW5Mb29wLCBQcmlvcml0
eSkKK3sKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKworICAgIHN0cnVj
dCBUYXNrIHsKKyAgICAgICAgc3RkOjpzdHJpbmcgc3RyaW5nOworICAgICAgICBpbnQgcHJpb3Jp
dHk7CisgICAgfTsKKworICAgIGF1dG8gdGVzdCA9IFsmXShzdGQ6OnZlY3RvcjxUYXNrPiB0YXNr
cywgc3RkOjpzdHJpbmcgZXhwZWN0ZWQpIHsKKyAgICAgICAgYm9vbCBmaW5pc2hlZCA9IGZhbHNl
OworICAgICAgICBzaXplX3QgZGlzcGF0Y2hDb3VudCA9IHRhc2tzLnNpemUoKTsKKworICAgICAg
ICBmb3IgKGF1dG8mIHRhc2sgOiB0YXNrcykgeworICAgICAgICAgICAgUnVuTG9vcDo6bWFpbigp
LmRpc3BhdGNoKHRhc2sucHJpb3JpdHksIFsmXSB7CisgICAgICAgICAgICAgICAgbG9nKCkgPDwg
dGFzay5zdHJpbmc7CisgICAgICAgICAgICAgICAgaWYgKCEoLS1kaXNwYXRjaENvdW50KSkKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoZWQgPSB0cnVlOworICAgICAgICAgICAgfSk7CisgICAg
ICAgIH0KKyAgICAgICAgVXRpbDo6cnVuKCZmaW5pc2hlZCk7CisgICAgICAgIEVYUEVDVF9TVFJF
UShleHBlY3RlZC5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgfTsKKworICAg
IGF1dG8gYmFzZSA9IFJ1bkxvb3A6OmRlZmF1bHRQcmlvcml0eTsKKworICAgIHRlc3QoeyB7ICJh
IiwgYmFzZSB9LCB7ICJiIiwgYmFzZSB9LCB7ICJjIiwgYmFzZSB9IH0sICJhYmMiKTsKKyAgICB0
ZXN0KHsgeyAiYSIsIGJhc2UgfSwgeyAiYiIsIGJhc2UgLSAxIH0sIHsgImMiLCBiYXNlICsgMSB9
IH0sICJjYWIiKTsKKyAgICB0ZXN0KHsgeyAiYSIsIDEwMCB9LCB7ICJiIiwgLTEwMCB9LCB7ICJj
IiwgMTAwIH0gfSwgImFjYiIpOworCisgICAgc3RkOjp2ZWN0b3I8VGFzaz4gdGFza3M7CisgICAg
Zm9yIChhdXRvIGkgPSAwOyBpIDwgNTsgKytpKSB7CisgICAgICAgIGZvciAoYXV0byBwcmlvcml0
eSA9IDA7IHByaW9yaXR5IDwgMTAwOyArK3ByaW9yaXR5KQorICAgICAgICAgICAgdGFza3MucHVz
aF9iYWNrKHsiKCIgKyBzdGQ6OnRvX3N0cmluZyhwcmlvcml0eSkgKyAiLCIgKyBzdGQ6OnRvX3N0
cmluZyhpKSArICIpIiwgcHJpb3JpdHkgfSk7CisgICAgfQorICAgIHN0ZDo6c3RyaW5nIGV4cGVj
dGVkOworICAgIGZvciAoYXV0byBwcmlvcml0eSA9IDEwMDsgcHJpb3JpdHktLTspIHsKKyAgICAg
ICAgZm9yIChhdXRvIGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICAgICAgZXhwZWN0ZWQgKz0g
IigiICsgc3RkOjp0b19zdHJpbmcocHJpb3JpdHkpICsgIiwiICsgc3RkOjp0b19zdHJpbmcoaSkg
KyAiKSI7CisgICAgfQorICAgIHRlc3QodGFza3MsIGV4cGVjdGVkKTsKK30KKworCiB9IC8vIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>