On Mar 5, 2014, at 16:05 PM, Jens Axboe <axboe@xxxxxxxxx> wrote: > On 03/05/2014 01:39 PM, Robin P. Blanchard wrote: >> >> On Mar 5, 2014, at 12:06 PM, Jens Axboe <axboe@xxxxxxxxx> wrote: >> >>> On Mar 5, 2014, at 9:27 AM, Robin P. Blanchard <robin@xxxxxxxxxx> wrote: >>> >>>> >>>> On Mar 5, 2014, at 11:18 AM, Jens Axboe <axboe@xxxxxxxxx> wrote: >>>> >>>>> On 2014-03-05 09:11, Robin P. Blanchard wrote: >>>>>> >>>>>> On Mar 3, 2014, at 10:25 AM, Jens Axboe <axboe@xxxxxxxxx> wrote: >>>>>> >>>>>>> On 03/02/2014 07:59 AM, Robin P. Blanchard wrote: >>>>>>>> My config file has direct=0, which until 2.1.4 worked as expected. >>>>>>>> Things seem to regress since. >>>>>>>> >>>>>>>> I apologize in advance if this has already been reported. Please >>>>>>>> let me know what I can do to further help (truss/debug). >>>>>>> >>>>>>> This isn't a known issue, so thanks for reporting it. The easiest way to debug this is to git bisect it. Looks like you are running from the tar balls, but I assume you have git installed? I'm assuming fio-2.1.3 worked for you - if not, just replace fio-2.1.3 in the below with whatever latest version did work. If you do, the cheat sheet is something ala: >>>>>>> >>>>>>> $ git clone git://git.kernel.dk/fio >>>>>>> $ cd fio; make >>>>>>> $ git bisect start >>>>>>> $ git bisect good fio-2.1.3 >>>>>>> $ git bisect bad fio-2.1.4 >>>>>>> >>>>>>> This starts the bisect series, now do: >>>>>>> >>>>>>> $ make clean; make >>>>>>> >>>>>>> and re-run your direct=0 job file. If it worked, then you do >>>>>>> >>>>>>> $ git bisect good >>>>>>> >>>>>>> and if not, you do git bisect bad instead. This gets you a new point in the tree to test, so repeat the make clean; make and re-run the test. >>>>>>> Keep doing this good/bad iteration until fio tells you what commit broke the test for you. Then send those results here! >>>>>>> >>>>>>> -- >>>>>>> Jens Axboe >>>>>>> >>>>>> >>>>>> >>>>>> Here’s where it started working again: >>>>>> >>>>>> # git bisect good >>>>>> Bisecting: 4 revisions left to test after this (roughly 2 steps) >>>>>> [3bb0a7b0fda9945973f799ab253c70d3cb0e5c8b] howto: Fix redundant entries >>>>>> >>>>>> Let me know how else I can help. >>>>> >>>>> Please keep going until it tells you what the definitively bad commit is. It'll end up spitting out that info, if you keep doing git bisect good/bad on each test point. You need just ~2 more tests after this one. >>>>> >>>>> -- >>>>> Jens Axboe >>>>> >>>> >>>> Here you go: >>>> >>>> # git bisect good >>>> ddc0cc31a2b75b1c7dde870c8867af11fa44db92 is the first bad commit >>>> commit ddc0cc31a2b75b1c7dde870c8867af11fa44db92 >>>> Author: Jens Axboe <axboe@xxxxxxxxx> >>>> Date: Fri Oct 11 10:27:28 2013 -0600 >>>> >>>> ppc: disable CPU clock until we can detect whether we have it or not >>>> >>>> The child segfault test should catch it, however it does not on >>>> AIX at least. >>>> >>>> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> >>> >>> Hmm, that can’t possibly be correct. Would you mind redoing the bisection, >>> just to double check? >>> >>> Thanks! >>> >>> — >>> Jens Axboe >> >> Ok. Let’s try this again. Silly user, me. >> >> # git bisect good >> 7cb024f89dbbc314e740885afccd9a05da056cf1 is the first bad commit >> commit 7cb024f89dbbc314e740885afccd9a05da056cf1 >> Author: Jens Axboe <axboe@xxxxxxxxx> >> Date: Wed Nov 6 15:37:35 2013 -0700 >> >> solaris: ensure that -D_REENTRANT gets set >> >> Apparently some Solaris' require this for threadsafe >> errno. >> >> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> >> >> :100755 100755 b6bfe19aa743fc4104eb587b3ff6068fb5dc67ef ef7be0180258abecd4703ebfcf4ed63625d6392f M configure >> >> >> I have the complete git/bisect session in a screen log if you’d like it. > > That makes a lot more sense! Can you do: > > $ git checkout -f master > $ git revert 7cb024f89dbbc314e740885afccd9a05da056cf1 > $ make clean; make > > and retest just to be on the safe side? Also, please attach the job file you are using. > > -- > Jens Axboe Actually, based on the git bisect work, I took out -D_REENTRANT from configure, and fio-2.1.6 now works as expected. Still want the job file? # diff -u configure configure.dist --- configure 2014-03-05 16:10:50.195429114 -0500 +++ configure.dist 2014-03-05 16:10:21.590075963 -0500 @@ -183,7 +183,7 @@ targetos='OpenBSD' elif check_define __sun__ ; then targetos='SunOS' - CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -D_REENTRANT" else targetos=`uname -s` fi -- Robin P. Blanchard Solutions Engineer Coraid Global Field Services www.coraid.com +1 650.730.5140 -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html