OK. Geooff
> On Jun 24, 2020, at 12:19 PM, Saam Barati <sbar...@apple.com> wrote: > > If we're only doing this for JSC, I don't think we need this, as none of us > care. > > If we want to do it for all of WK testing, we should include this for folks > who care about having O0-style stack traces. > > - Saam > >> On Jun 24, 2020, at 12:17 PM, Geoffrey Garen <gga...@apple.com >> <mailto:gga...@apple.com>> wrote: >> >> Is "-fno-inline -fno-optimize-sibling-calls” still on the table? >> >> Thanks, >> Geoff >> >>> On Jun 24, 2020, at 10:28 AM, Mark Lam <mark....@apple.com >>> <mailto:mark....@apple.com>> wrote: >>> >>> I forgot to add ... >>> >>>> On Jun 24, 2020, at 10:26 AM, Mark Lam <mark....@apple.com >>>> <mailto:mark....@apple.com>> wrote: >>>> >>>> Based on all the feedback given so far, it looks like we can move forward >>>> with the following plan: >>>> 1. JSC Debug test bots will build their own local jsc with O3 before >>>> running the tests. >>> >>> 1.5 JSC EWS bot will also run with an O3 Debug build. >>> >>> Mark >>> >>>> 2. The rest of the build and test bots will remain unchanged. >>>> >>>> Let's move forward with this and get the Debug JSC test bot functional >>>> again. >>>> >>>> Thanks. >>>> >>>> Mark >>>> >>>> >>>>> On Jun 19, 2020, at 2:58 PM, Alexey Proskuryakov <a...@webkit.org >>>>> <mailto:a...@webkit.org>> wrote: >>>>> >>>>> >>>>> >>>>>> 19 июня 2020 г., в 1:11 PM, Mark Lam <mark....@apple.com >>>>>> <mailto:mark....@apple.com>> написал(а): >>>>>> >>>>>> >>>>>> >>>>>>> On Jun 19, 2020, at 10:24 AM, Geoffrey Garen <gga...@apple.com >>>>>>> <mailto:gga...@apple.com>> wrote: >>>>>>> >>>>>>>>> On Jun 19, 2020, at 8:04 AM, Geoffrey Garen <gga...@apple.com >>>>>>>>> <mailto:gga...@apple.com>> wrote: >>>>>>>>> >>>>>>>>> Can you explain more about what "O3 with no-inlining” is? How does >>>>>>>>> --force-opt=O3 avoid inlining? Would this fully resolve Simon concern >>>>>>>>> about stack traces, or would something still be different about stack >>>>>>>>> traces? >>>>>>>> There doesn't exist a way to do this now, but it'd be trivial to add a >>>>>>>> way. I won't claim it fixes all stack traces differences, but I'd >>>>>>>> think compiling using "-fno-inline -fno-optimize-sibling-calls" would >>>>>>>> get us pretty far in crashing stack traces being similar enough. >>>>>>> >>>>>>> Sounds good. >>>>>>> >>>>>>> I think we should try to refine the proposal along these lines, to >>>>>>> minimize the downsides. I won’t speak for Simon, but for me, being able >>>>>>> to ensure a clear backtrace from a bot would be a big improvement. >>>>>>> >>>>>>>>> And again, I think this discussion would get a lot more focused if >>>>>>>>> the change could apply only to JSC code, and not also to WTF code. >>>>>>>> I believe Mark's proposal, initially, is just to make JSC do this. So >>>>>>>> I don't see the point of compiling WTF differently. JSC can kick off >>>>>>>> its own build, and run Debug+O3 tests faster than it can run Debug+O0 >>>>>>>> tests. Given people working on JSC want this, and people working on >>>>>>>> JSC defend these tests, and that these test results are more stable >>>>>>>> (see below), we should make this change for JSC. >>>>>>>> >>>>>>>> I was trying to convince folks defending non-JSC testing, that they >>>>>>>> too, should want this. I'm not going to pull teeth here. If folks want >>>>>>>> their tests to take ~10x longer to run, they're entitled to make that >>>>>>>> tradeoff. >>>>>>> >>>>>>> Got it. >>>>>> >>>>>> I'm of the same mind as Saam. We want this change for the JSC bots, and >>>>>> from the time measurements I’ve collected, we can afford to do a clean >>>>>> build for the JSC Debug test runs using O3, and still come out way ahead. >>>>> >>>>> This seems like a reasonable plan. You didn't mention what hardware you >>>>> measured with, but it seems certain to be beneficial on any current >>>>> hardware. >>>>> >>>>> I need to mention that we saw unexplained and very large impact on JSC >>>>> test speed from enabling/disabling TCSM. That may be a good thing to look >>>>> into while optimizing JSC test speed. >>>>> >>>>> - Alexey >>>>> >>>>> >>>>>> As for non-JSC test runs, I have not actually measured what the time >>>>>> savings are. Given there is resistance to going with O3 there, we don’t >>>>>> have to share the build artifacts for running the tests. JSC test runs >>>>>> should be able to just build JSC for each O3 Debug JSC test run and it >>>>>> is still a win over the current status quo i.e. test runs never complete. >>>>>> >>>>>> Regarding Geoff’s earlier question about whether I know for sure that >>>>>> switching to O3 will fix the current Debug JSC bot failures to run >>>>>> tests, the answer is I’m not certain. The failure is a timeout due to >>>>>> the master bot not seeing any output from the tester bot for more than >>>>>> 20 minutes. I’ve not been able to reproduce this yet. But with a Debug >>>>>> build test run taking 4+ hours, it can only be a progression to switch >>>>>> the Debug JSC test bots to O3. >>>>>> >>>>>> Mark >>>>>> >>>>>> >>>>>>> >>>>>>>>> And again, on the run more tests front, it would be helpful to know >>>>>>>>> whether this change was enough to get the stress tests running or not. >>>>>>>> My experience running the tests locally supports this fully. I don't >>>>>>>> get timeouts when running O3+Debug locally. When running Debug+O0 >>>>>>>> locally, I'd get timeouts all the time, and the total test run would >>>>>>>> take ~4-8 hours. We can wait for official confirmation from Mark. >>>>>>> >>>>>>> Alexey, do the JSC stress tests run now on bots? If not, how fast would >>>>>>> they need to run in order to be eligible to run on bots? >>>>>>> >>>>>>> Thanks, >>>>>>> Geoff >>>>>>> >>>>>>>> >>>>>>>> - Saam >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Geoff >>>>>>>>> >>>>>>>>>> On Jun 18, 2020, at 9:30 PM, Saam Barati <sbar...@apple.com >>>>>>>>>> <mailto:sbar...@apple.com>> wrote: >>>>>>>>>> >>>>>>>>>> Why are we insisting on doing something on the bots that takes ~10x >>>>>>>>>> longer to run than necessary? I’d rather have that time spent >>>>>>>>>> running more tests. >>>>>>>>>> >>>>>>>>>> Overall, how we’re doing things now feels like a bad allocation of >>>>>>>>>> bot resources. The differences I see between O3 with no-inlining vs >>>>>>>>>> O0 is: >>>>>>>>>> - Some race conditions will behave differently. Race conditions are >>>>>>>>>> already non predictable. I don’t think we’re losing anything here. >>>>>>>>>> - O0 vs O3 is a different compiler. We may encounter bugs in O3 we >>>>>>>>>> don’t in O0, and vice versa. In general, we probably care more about >>>>>>>>>> O3 compiler bugs than O0, since we don’t ship O0, but ship a lot of >>>>>>>>>> O3. >>>>>>>>>> >>>>>>>>>> (And if we’re going to insist on “I want it to run what I build at >>>>>>>>>> my desk”: I run debug with O3 at my desk, and I can run debug tests >>>>>>>>>> in a reasonable amount of time now.) >>>>>>>>>> >>>>>>>>>> In evaluating what’s the better setup, I think it’s helpful to think >>>>>>>>>> about this from the other side. Let’s imagine we had Debug+O3 as our >>>>>>>>>> current setup. And someone proposed to move it to O0 and make our >>>>>>>>>> tests take ~10x longer. I think that’d be a non-starter. >>>>>>>>>> >>>>>>>>>> - Saam >>>>>>>>>> >>>>>>>>>>> On Jun 17, 2020, at 9:48 PM, Simon Fraser <simon.fra...@apple.com >>>>>>>>>>> <mailto:simon.fra...@apple.com>> wrote: >>>>>>>>>>> >>>>>>>>>>> I also object to losing good stack traces for crashes on Debug >>>>>>>>>>> bots. >>>>>>>>>>> >>>>>>>>>>> Also, I don't think Debug bots should build something different >>>>>>>>>>> from what I build at my desk. >>>>>>>>>>> >>>>>>>>>>> Simon >>>>>>>>>>> >>>>>>>>>>>> On Jun 17, 2020, at 1:36 PM, Mark Lam <mark....@apple.com >>>>>>>>>>>> <mailto:mark....@apple.com>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi folks, >>>>>>>>>>>> >>>>>>>>>>>> We're planning to switch the JSC EWS bot and build.webkit.org >>>>>>>>>>>> <http://build.webkit.org/> Debug build and test bots to building >>>>>>>>>>>> with the following set first: >>>>>>>>>>>> ./Tools/Scripts/set-webkit-configuration --force-opt=O3 >>>>>>>>>>>> >>>>>>>>>>>> This means the Debug builds will be built with optimization level >>>>>>>>>>>> forced to O3. >>>>>>>>>>>> >>>>>>>>>>>> Why are we doing this? >>>>>>>>>>>> 1. So that the JSC EWS will start catching ASSERT failures. >>>>>>>>>>>> 2. JSC stress test Debug bots have been timing out and not running >>>>>>>>>>>> tests at all. Hopefully, this change will fix this issue. >>>>>>>>>>>> 3. Tests will run to completion faster and we’ll catch regressions >>>>>>>>>>>> sooner. >>>>>>>>>>>> >>>>>>>>>>>> The downside: crash stack traces will be like Release build stack >>>>>>>>>>>> traces. But I don’t think we should let this deter us. It’s not >>>>>>>>>>>> like there’s no stack information. And just as we do with >>>>>>>>>>>> debugging Release build test failures, we can always do a Debug >>>>>>>>>>>> build locally to do our debugging. >>>>>>>>>>>> >>>>>>>>>>>> We would like to apply this change to all Debug build and test >>>>>>>>>>>> bots, not just the JSC ones. Does anyone strongly object to this >>>>>>>>>>>> change? >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> Mark >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> webkit-dev mailing list >>>>>>>>>>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>>>>>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>>>>>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> webkit-dev mailing list >>>>>>>>>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>>>>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>>>>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>>>>>>>>> _______________________________________________ >>>>>>>>>> webkit-dev mailing list >>>>>>>>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>>>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>>>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> webkit-dev mailing list >>>>>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>>>>> >>>>>> _______________________________________________ >>>>>> webkit-dev mailing list >>>>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>>>> >>>>> - Alexey >>>> >>>> _______________________________________________ >>>> webkit-dev mailing list >>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >>> >>> _______________________________________________ >>> webkit-dev mailing list >>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>> <https://lists.webkit.org/mailman/listinfo/webkit-dev> >> _______________________________________________ >> webkit-dev mailing list >> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >> https://lists.webkit.org/mailman/listinfo/webkit-dev >
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev