[lldb-dev] [PATCH] make dosep.ty test driver multi-threadable

Greg Clayton gclayton at apple.com
Mon Mar 17 10:33:49 PDT 2014


Yes, we can either do that via python directly, or through SBHostOS, as internally we have:

    static uint32_t Host::GetNumberCPUS ();



On Mar 17, 2014, at 10:21 AM, Todd Fiala <tfiala at google.com> wrote:

> That's worth a try.
> 
> I don't yet have any insight into exactly what's wrong with the one I'm seeing (or the additional failures that Ed is seeing on FreeBSD), so I'm not yet sure if this will address it.  But it does seem worth a try.
> 
> In the event that your idea works out to eliminate those failures, there is another element we can consider.  We can have Python give us the # cores available (if there's something portable to do that), and when not otherwise specified, pick a reasonable default # threads to get decent test run performance without needing the environment  variable specified.  This would give anybody running the tests a decent test run speedup without having to read docs on configuring the environment variable.  (I think this was Steve Pucci's idea but definitely something we discussed.)
> 
> 
> On Mon, Mar 17, 2014 at 10:12 AM, Greg Clayton <gclayton at apple.com> wrote:
> Maybe we can mark certain tests with a decorator so they get serially run after all other parallel tests have completed?
> 
> Maybe "@serializeTest"?
> 
> 
> 
> On Mar 17, 2014, at 7:16 AM, Ed Maste <emaste at freebsd.org> wrote:
> 
> > On 7 March 2014 01:32, Todd Fiala <tfiala at google.com> wrote:
> >> Steve's change went in earlier today.
> >>
> >>> This doesn't yet work with ninja makes, but tfiala or I will look at that
> >>> as well.
> >>
> >> I did look into this and it actually works fine without modification if you
> >> do the 'ninja check-lldb' with the environment variable set.
> >>
> >> This was the run I just did using 32 procs:
> >>
> >> Running multithreaded with 32 threads.
> >> Ran 278 tests.
> >>
> >> real    1m22.855s
> >> user    5m38.520s
> >> sys     0m51.520s
> >>
> >>
> >> That used to take 10+ minutes.
> >
> > For reference, these are the test times I see on FreeBSD (after
> > including a PoC patch for llvm.org/pr18894)
> >
> > 1 thread:        443.49 real       214.02 user        63.72 sys
> > 4 threads:      121.17 real       234.17 user        66.27 sys
> > 8 threads:       88.70 real       305.37 user        92.82 sys
> >
> > I see occasional test failures with higher thread settings (I believe
> > this was mentioned on the list before).  These are the ones that seem
> > susceptible:
> >
> > FAIL: LLDB (suite) :: TestCallThatRestarts.py
> > FAIL: LLDB (suite) :: TestWatchpointConditionCmd.py
> > FAIL: LLDB (suite) :: TestWatchpointConditionAPI.py
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 
> 
> 
> 
> -- 
> Todd Fiala |	 Software Engineer |	 tfiala at google.com |	 650-943-3180
> 




More information about the lldb-dev mailing list