RESOLVED FIXED200444
High number of cache miss on localTimeOffset
https://bugs.webkit.org/show_bug.cgi?id=200444
Summary High number of cache miss on localTimeOffset
Caio Lima
Reported 2019-08-05 13:14:51 PDT
There are cases with a high number of cache miss on `localTimeOffset` while using "https://www.messenger.com". From profiling information collected during usage of ~10 minutes, there were ~3520 cache miss and 54 cache hit. The profiling was collected during conversation in 2 chats.
Attachments
WIP - Patch (3.18 KB, patch)
2019-08-05 13:33 PDT, Caio Lima
no flags
Patch (4.62 KB, patch)
2019-08-06 09:20 PDT, Caio Lima
no flags
Caio Lima
Comment 1 2019-08-05 13:30:52 PDT
Also the problem happens when applications call `gregorianDateTimeToMS` and `msToGregorianDateTime` intercalated and `inputTimeType == WTF::LocalTime` in both functions. The issue happens because `msToGregorianDateTime` calls `localTimeOffset` with `WTF::UTCTime` and force a cache reset.
Caio Lima
Comment 2 2019-08-05 13:33:42 PDT
Created attachment 375548 [details] WIP - Patch
Caio Lima
Comment 3 2019-08-06 09:20:21 PDT
Geoffrey Garen
Comment 4 2019-08-06 11:16:13 PDT
** The following JSC stress test failures have been introduced: mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla
Geoffrey Garen
Comment 5 2019-08-06 11:23:06 PDT
Comment on attachment 375625 [details] Patch Patch looks correct -- can you run the JSC tests locally and see if you reproduce that failure? Also, it would be nice, in a follow-up, to remove callers that use WTF::LocalTime. The input to this function is supposed to be UTC time exclusively.
Caio Lima
Comment 6 2019-08-06 12:56:30 PDT
Thx a lot for the review! (In reply to Geoffrey Garen from comment #4) > ** The following JSC stress test failures have been introduced: > mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla Since last month, this test is failing sometimes. It fails more often on MIPS bots, but I saw it failing on jsc EWS in a couple of patches I've sent last week. We tried to reproduce the fail locally using our MIPS bots, but it seems to happen only when running stress tests and in a very specific case we didn't identify yet. I personally couldn't reproduce it on macOS so far. Anyway, I'm running tests locally before commiting it.
Caio Lima
Comment 7 2019-08-07 05:11:43 PDT
Comment on attachment 375625 [details] Patch Failure doesn't see related. I ran Debug and Relase mode locally and got no error.
WebKit Commit Bot
Comment 8 2019-08-07 05:41:07 PDT
Comment on attachment 375625 [details] Patch Clearing flags on attachment: 375625 Committed r248363: <https://trac.webkit.org/changeset/248363>
WebKit Commit Bot
Comment 9 2019-08-07 05:41:08 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 10 2019-08-07 05:42:15 PDT
Caio Lima
Comment 11 2019-08-07 06:15:58 PDT
(In reply to Geoffrey Garen from comment #5) > Comment on attachment 375625 [details] > Patch > > Patch looks correct -- can you run the JSC tests locally and see if you > reproduce that failure? > > Also, it would be nice, in a follow-up, to remove callers that use > WTF::LocalTime. The input to this function is supposed to be UTC time > exclusively. Just for the record, this is the bug where `WTF::TimeType` was introduced. https://bugs.webkit.org/show_bug.cgi?id=130967
Note You need to log in before you can comment on or make changes to this bug.