* [Qemu-devel] [PATCH v1 0/3] reduce the matrix, add OSX, speed-up Travis? @ 2016-03-22 12:53 Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix Alex Bennée ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Alex Bennée @ 2016-03-22 12:53 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell, Alex Bennée, david Hi, This is my currently brewing set of Travis updates. As was mentioned on previous series the matrix could do with collapsing further. I've simplified it by just worrying about configs and allowing all the targets to be built. This means each build of the main matrix has gotten longer but less overall builds are done. There may be some millage in reducing the target list for some of the ancillary builds though. Do we want to care about all targets when changing the logging backend or the co-routine type? Finally I've added a new build to the matrix for OSX. I'm pondering if I should do similar for the Trusty beta images. Thoughts? Alex Bennée (3): .travis.yml: collapse the test matrix .travis.yml: enable OSX builds .travis.yml: make -j3 .travis.yml | 81 ++++++++++++++------------------------------------ scripts/macosx-brew.sh | 12 ++++++++ 2 files changed, 35 insertions(+), 58 deletions(-) create mode 100755 scripts/macosx-brew.sh -- 2.7.3 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix 2016-03-22 12:53 [Qemu-devel] [PATCH v1 0/3] reduce the matrix, add OSX, speed-up Travis? Alex Bennée @ 2016-03-22 12:53 ` Alex Bennée 2016-03-23 0:42 ` David Gibson 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 Alex Bennée 2 siblings, 1 reply; 8+ messages in thread From: Alex Bennée @ 2016-03-22 12:53 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell, Alex Bennée, david Remove the concept of TARGETS and build the complete target list for each config combination. Now the matrix is just based on CONFIG stanzas and we use the additional stuff for: - things that only work on one compiler (sparse, gcov, gprof) - combos where "make check" fails Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- .travis.yml | 75 +++++++++++++++---------------------------------------------- 1 file changed, 18 insertions(+), 57 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e5873b..18c04af 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,17 +42,13 @@ notifications: env: global: - TEST_CMD="make check" - - EXTRA_CONFIG="" matrix: - # Group major targets together with their linux-user counterparts - - TARGETS=alpha-softmmu,alpha-linux-user,cris-softmmu,cris-linux-user,m68k-softmmu,m68k-linux-user,microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user - - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user - - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user - - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user - - TARGETS=or32-softmmu,or32-linux-user,ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user - - TARGETS=s390x-softmmu,s390x-linux-user,sh4-softmmu,sh4eb-softmmu,sh4-linux-user,sh4eb-linux-user,sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user,unicore32-softmmu,unicore32-linux-user - # Group remaining softmmu only targets into one build - - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu + - CONFIG="" + - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log" + - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" + - CONFIG="--enable-modules" + - CONFIG="--with-coroutine=ucontext" + - CONFIG="--with-coroutine=sigaltstack" git: # we want to do this ourselves submodules: false @@ -60,65 +56,30 @@ before_install: - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ - git submodule update --init --recursive before_script: - - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG} + - ./configure ${CONFIG} script: - make -j2 && ${TEST_CMD} matrix: - # We manually include a number of additional build for non-standard bits include: - # Debug related options - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-debug" + # Sparse is GCC only + - env: CONFIG="--enable-sparse" compiler: gcc - # We currently disable "make check" - - env: TARGETS=alpha-softmmu - EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter" - TEST_CMD="" - compiler: gcc - # Disable a few of the optional features - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" - compiler: gcc - # Currently configure doesn't force --disable-pie - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie" - compiler: gcc - # Sparse - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-sparse" + # gprof/gcov are GCC features + - env: CONFIG="--enable-gprof --enable-gcov --disable-pie" compiler: gcc - # Modules - - env: TARGETS=arm-softmmu,x86_64-softmmu - EXTRA_CONFIG="--enable-modules" - compiler: gcc - # All the trace backends (apart from dtrace) - - env: TARGETS=i386-softmmu - EXTRA_CONFIG="--enable-trace-backends=log" - compiler: gcc - # We currently disable "make check" (until 41fc57e44ed regression fixed) - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=simple" + # We manually include builds which we disable "make check" for + - env: CONFIG="--enable-debug --enable-tcg-interpreter" TEST_CMD="" compiler: gcc - # We currently disable "make check" - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=ftrace" + - env: CONFIG="--enable-trace-backends=simple" TEST_CMD="" compiler: gcc - # We currently disable "make check" - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--enable-trace-backends=ust" + - env: CONFIG="--enable-trace-backends=ftrace" TEST_CMD="" compiler: gcc - # All the co-routine backends (apart from windows) - # We currently disable "make check" - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=gthread" + - env: CONFIG="--enable-trace-backends=ust" TEST_CMD="" compiler: gcc - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=ucontext" - compiler: gcc - - env: TARGETS=x86_64-softmmu - EXTRA_CONFIG="--with-coroutine=sigaltstack" + - env: CONFIG="--with-coroutine=gthread" + TEST_CMD="" compiler: gcc -- 2.7.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix Alex Bennée @ 2016-03-23 0:42 ` David Gibson 0 siblings, 0 replies; 8+ messages in thread From: David Gibson @ 2016-03-23 0:42 UTC (permalink / raw) To: Alex Bennée; +Cc: peter.maydell, qemu-devel [-- Attachment #1: Type: text/plain, Size: 6002 bytes --] On Tue, Mar 22, 2016 at 12:53:13PM +0000, Alex Bennée wrote: > Remove the concept of TARGETS and build the complete target list for > each config combination. Now the matrix is just based on CONFIG stanzas > and we use the additional stuff for: > > - things that only work on one compiler (sparse, gcov, gprof) > - combos where "make check" fails > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > .travis.yml | 75 +++++++++++++++---------------------------------------------- > 1 file changed, 18 insertions(+), 57 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 9e5873b..18c04af 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -42,17 +42,13 @@ notifications: > env: > global: > - TEST_CMD="make check" > - - EXTRA_CONFIG="" > matrix: > - # Group major targets together with their linux-user counterparts > - - TARGETS=alpha-softmmu,alpha-linux-user,cris-softmmu,cris-linux-user,m68k-softmmu,m68k-linux-user,microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user > - - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user > - - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user > - - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user > - - TARGETS=or32-softmmu,or32-linux-user,ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user > - - TARGETS=s390x-softmmu,s390x-linux-user,sh4-softmmu,sh4eb-softmmu,sh4-linux-user,sh4eb-linux-user,sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user,unicore32-softmmu,unicore32-linux-user > - # Group remaining softmmu only targets into one build > - - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu > + - CONFIG="" > + - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log" > + - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" > + - CONFIG="--enable-modules" > + - CONFIG="--with-coroutine=ucontext" > + - CONFIG="--with-coroutine=sigaltstack" > git: > # we want to do this ourselves > submodules: false > @@ -60,65 +56,30 @@ before_install: > - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ > - git submodule update --init --recursive > before_script: > - - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG} > + - ./configure ${CONFIG} > script: > - make -j2 && ${TEST_CMD} > matrix: > - # We manually include a number of additional build for non-standard bits > include: > - # Debug related options > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-debug" > + # Sparse is GCC only > + - env: CONFIG="--enable-sparse" > compiler: gcc > - # We currently disable "make check" > - - env: TARGETS=alpha-softmmu > - EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter" > - TEST_CMD="" > - compiler: gcc > - # Disable a few of the optional features > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb" > - compiler: gcc > - # Currently configure doesn't force --disable-pie > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie" > - compiler: gcc > - # Sparse > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-sparse" > + # gprof/gcov are GCC features > + - env: CONFIG="--enable-gprof --enable-gcov --disable-pie" > compiler: gcc > - # Modules > - - env: TARGETS=arm-softmmu,x86_64-softmmu > - EXTRA_CONFIG="--enable-modules" > - compiler: gcc > - # All the trace backends (apart from dtrace) > - - env: TARGETS=i386-softmmu > - EXTRA_CONFIG="--enable-trace-backends=log" > - compiler: gcc > - # We currently disable "make check" (until 41fc57e44ed regression fixed) > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-trace-backends=simple" > + # We manually include builds which we disable "make check" for > + - env: CONFIG="--enable-debug --enable-tcg-interpreter" > TEST_CMD="" > compiler: gcc > - # We currently disable "make check" > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-trace-backends=ftrace" > + - env: CONFIG="--enable-trace-backends=simple" > TEST_CMD="" > compiler: gcc > - # We currently disable "make check" > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--enable-trace-backends=ust" > + - env: CONFIG="--enable-trace-backends=ftrace" > TEST_CMD="" > compiler: gcc > - # All the co-routine backends (apart from windows) > - # We currently disable "make check" > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--with-coroutine=gthread" > + - env: CONFIG="--enable-trace-backends=ust" > TEST_CMD="" > compiler: gcc > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--with-coroutine=ucontext" > - compiler: gcc > - - env: TARGETS=x86_64-softmmu > - EXTRA_CONFIG="--with-coroutine=sigaltstack" > + - env: CONFIG="--with-coroutine=gthread" > + TEST_CMD="" > compiler: gcc -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds 2016-03-22 12:53 [Qemu-devel] [PATCH v1 0/3] reduce the matrix, add OSX, speed-up Travis? Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix Alex Bennée @ 2016-03-22 12:53 ` Alex Bennée 2016-03-22 13:49 ` Peter Maydell 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 Alex Bennée 2 siblings, 1 reply; 8+ messages in thread From: Alex Bennée @ 2016-03-22 12:53 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell, Alex Bennée, david Travis has support for OSX builds. Making the setup work cleanly involves a little hacking about with the .travis.yml file but rather than make it too messy I've pushed all the "brew" install stuff into a support script called ./scripts/macosx-brew.sh. Currently only the default ./configure ${CONFIG} is built as I'm not sure what extra coverage would come from the other build stanzas. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- .travis.yml | 4 ++++ scripts/macosx-brew.sh | 12 ++++++++++++ 2 files changed, 16 insertions(+) create mode 100755 scripts/macosx-brew.sh diff --git a/.travis.yml b/.travis.yml index 18c04af..3f77bfa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,6 +53,7 @@ git: # we want to do this ourselves submodules: false before_install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/macosx-brew.sh ; fi - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ - git submodule update --init --recursive before_script: @@ -83,3 +84,6 @@ matrix: - env: CONFIG="--with-coroutine=gthread" TEST_CMD="" compiler: gcc + - env: CONFIG="" + os: osx + compiler: clang diff --git a/scripts/macosx-brew.sh b/scripts/macosx-brew.sh new file mode 100755 index 0000000..fc0d588 --- /dev/null +++ b/scripts/macosx-brew.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# +# Install MacOSX dependancies +# +brew update +brew install libffi +brew install gettext +brew install pkg-config +brew install glib +brew install autoconf +brew install automake +brew install pixman -- 2.7.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds Alex Bennée @ 2016-03-22 13:49 ` Peter Maydell 2016-03-22 14:12 ` Alex Bennée 0 siblings, 1 reply; 8+ messages in thread From: Peter Maydell @ 2016-03-22 13:49 UTC (permalink / raw) To: Alex Bennée; +Cc: QEMU Developers, David Gibson On 22 March 2016 at 12:53, Alex Bennée <alex.bennee@linaro.org> wrote: > Travis has support for OSX builds. Making the setup work cleanly > involves a little hacking about with the .travis.yml file but rather > than make it too messy I've pushed all the "brew" install stuff into a > support script called ./scripts/macosx-brew.sh. > > Currently only the default ./configure ${CONFIG} is built as I'm not > sure what extra coverage would come from the other build stanzas. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .travis.yml | 4 ++++ > scripts/macosx-brew.sh | 12 ++++++++++++ > 2 files changed, 16 insertions(+) > create mode 100755 scripts/macosx-brew.sh > > diff --git a/.travis.yml b/.travis.yml > index 18c04af..3f77bfa 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -53,6 +53,7 @@ git: > # we want to do this ourselves > submodules: false > before_install: > + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/macosx-brew.sh ; fi [[ is a bash-ism, does travis guarantee we are using bash here? (Alternatively just use single [] and the '=' operator.) > - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ > - git submodule update --init --recursive > before_script: > @@ -83,3 +84,6 @@ matrix: > - env: CONFIG="--with-coroutine=gthread" > TEST_CMD="" > compiler: gcc > + - env: CONFIG="" > + os: osx > + compiler: clang > diff --git a/scripts/macosx-brew.sh b/scripts/macosx-brew.sh > new file mode 100755 > index 0000000..fc0d588 > --- /dev/null > +++ b/scripts/macosx-brew.sh > @@ -0,0 +1,12 @@ > +#!/bin/sh You should probably be using '-e' here. Missing license/copyright info. > +# > +# Install MacOSX dependancies "dependencies". > +# > +brew update > +brew install libffi > +brew install gettext > +brew install pkg-config > +brew install glib > +brew install autoconf > +brew install automake > +brew install pixman > -- > 2.7.3 If we're going to have an extra script, we should probably either (a) note it as being for the benefit of the Travis install or (b) better document whether/how end users should use it. I think the minimal code to do it inline in .travis.yml is: - [ "$TRAVIS_OS_NAME" = "osx" ] && brew update - [ "$TRAVIS_OS_NAME" = "osx" ] && brew install libffi gettext pkg-config glib autoconf automake pixman (you could skip pixman and rely on the submodule). thanks -- PMM ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds 2016-03-22 13:49 ` Peter Maydell @ 2016-03-22 14:12 ` Alex Bennée 0 siblings, 0 replies; 8+ messages in thread From: Alex Bennée @ 2016-03-22 14:12 UTC (permalink / raw) To: Peter Maydell; +Cc: QEMU Developers, David Gibson Peter Maydell <peter.maydell@linaro.org> writes: > On 22 March 2016 at 12:53, Alex Bennée <alex.bennee@linaro.org> wrote: >> Travis has support for OSX builds. Making the setup work cleanly >> involves a little hacking about with the .travis.yml file but rather >> than make it too messy I've pushed all the "brew" install stuff into a >> support script called ./scripts/macosx-brew.sh. >> >> Currently only the default ./configure ${CONFIG} is built as I'm not >> sure what extra coverage would come from the other build stanzas. >> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> --- >> .travis.yml | 4 ++++ >> scripts/macosx-brew.sh | 12 ++++++++++++ >> 2 files changed, 16 insertions(+) >> create mode 100755 scripts/macosx-brew.sh >> >> diff --git a/.travis.yml b/.travis.yml >> index 18c04af..3f77bfa 100644 >> --- a/.travis.yml >> +++ b/.travis.yml >> @@ -53,6 +53,7 @@ git: >> # we want to do this ourselves >> submodules: false >> before_install: >> + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/macosx-brew.sh ; fi > > [[ is a bash-ism, does travis guarantee we are using bash here? > (Alternatively just use single [] and the '=' operator.) Well I copied it directly from their docs so I'm assuming so: https://docs.travis-ci.com/user/multi-os/ > >> - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ >> - git submodule update --init --recursive >> before_script: >> @@ -83,3 +84,6 @@ matrix: >> - env: CONFIG="--with-coroutine=gthread" >> TEST_CMD="" >> compiler: gcc >> + - env: CONFIG="" >> + os: osx >> + compiler: clang >> diff --git a/scripts/macosx-brew.sh b/scripts/macosx-brew.sh >> new file mode 100755 >> index 0000000..fc0d588 >> --- /dev/null >> +++ b/scripts/macosx-brew.sh >> @@ -0,0 +1,12 @@ >> +#!/bin/sh > > You should probably be using '-e' here. > > Missing license/copyright info. > >> +# >> +# Install MacOSX dependancies > > "dependencies". > >> +# >> +brew update >> +brew install libffi >> +brew install gettext >> +brew install pkg-config >> +brew install glib >> +brew install autoconf >> +brew install automake >> +brew install pixman >> -- >> 2.7.3 > > If we're going to have an extra script, we should probably > either (a) note it as being for the benefit of the Travis install > or (b) better document whether/how end users should > use it. > > I think the minimal code to do it inline in .travis.yml is: > > - [ "$TRAVIS_OS_NAME" = "osx" ] && brew update > - [ "$TRAVIS_OS_NAME" = "osx" ] && brew install libffi gettext > pkg-config glib autoconf automake pixman Ahh fair enough, when I started down the route I didn't know how complex setting up the environment would be. I wonder if MinGW will be as easy to setup? > > (you could skip pixman and rely on the submodule). > > thanks > -- PMM -- Alex Bennée ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 2016-03-22 12:53 [Qemu-devel] [PATCH v1 0/3] reduce the matrix, add OSX, speed-up Travis? Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds Alex Bennée @ 2016-03-22 12:53 ` Alex Bennée 2016-03-23 1:25 ` David Gibson 2 siblings, 1 reply; 8+ messages in thread From: Alex Bennée @ 2016-03-22 12:53 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell, Alex Bennée, david The move from Travis VMs to Containers came with a upgrade from 1.5 cores to 2. The received wisdom is -j N+1 means a core can be doing work while other threads wait for IO to complete. This is hard to test on the Travis infrastructure but an initial before/after eyeballing seems to confirm it is an improvement. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3f77bfa..345e3ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,7 +59,7 @@ before_install: before_script: - ./configure ${CONFIG} script: - - make -j2 && ${TEST_CMD} + - make -j3 && ${TEST_CMD} matrix: include: # Sparse is GCC only -- 2.7.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 Alex Bennée @ 2016-03-23 1:25 ` David Gibson 0 siblings, 0 replies; 8+ messages in thread From: David Gibson @ 2016-03-23 1:25 UTC (permalink / raw) To: Alex Bennée; +Cc: peter.maydell, qemu-devel [-- Attachment #1: Type: text/plain, Size: 1126 bytes --] On Tue, Mar 22, 2016 at 12:53:15PM +0000, Alex Bennée wrote: > The move from Travis VMs to Containers came with a upgrade from 1.5 > cores to 2. The received wisdom is -j N+1 means a core can be doing work > while other threads wait for IO to complete. This is hard to test on the > Travis infrastructure but an initial before/after eyeballing seems to > confirm it is an improvement. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > .travis.yml | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/.travis.yml b/.travis.yml > index 3f77bfa..345e3ca 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -59,7 +59,7 @@ before_install: > before_script: > - ./configure ${CONFIG} > script: > - - make -j2 && ${TEST_CMD} > + - make -j3 && ${TEST_CMD} > matrix: > include: > # Sparse is GCC only -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-03-23 2:39 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-03-22 12:53 [Qemu-devel] [PATCH v1 0/3] reduce the matrix, add OSX, speed-up Travis? Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 1/3] .travis.yml: collapse the test matrix Alex Bennée 2016-03-23 0:42 ` David Gibson 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 2/3] .travis.yml: enable OSX builds Alex Bennée 2016-03-22 13:49 ` Peter Maydell 2016-03-22 14:12 ` Alex Bennée 2016-03-22 12:53 ` [Qemu-devel] [PATCH v1 3/3] .travis.yml: make -j3 Alex Bennée 2016-03-23 1:25 ` David Gibson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).