Re: [Fuego] [PATCH 1/1] fio/parser.py: Add support to parse later versions of fio 2.16
<[email protected]> Fri, 6 May 2022 13:10:34 +0000
| Newsgroups | dev.linux.lists.fuego |
|---|---|
| Message-ID | <OSYPR01MB5542BAE94D7C3306AB24045DA4C59@OSYPR01MB5542.jpnprd01.prod.outlook.com> |
Hi Tim, Sorry for my late replay, Please see my inline coments. >-----Original Message----- >From: Bird, Tim <[email protected]> >Sent: 21 April 2022 05:55 >To: pyla venkata(=1B$B#T#S#I#P=1B(B) <[email protected]>; nakk= ala >sireesha(=1B$B#T#S#I#P=1B(B) <[email protected]> >Cc: [email protected]; dinesh kumar(=1B$B#T#S#I#P=1B(B) ><[email protected]>; hayashi kazuhiro(=1B$BNS=1B(B =1B$BOB9(= =1B(B =1B$B""#S#W#C"~#A#C#T=1B(B) ><[email protected]> >Subject: RE: [PATCH 1/1] fio/parser.py: Add support to parse later version= s of fio >2.16 > >Hey Venkata, > >See my comments inline below. > >> -----Original Message----- >> From: [email protected] <[email protected]> >> >> Hi Tim, >> >> Thanks for the prompt response and support always, >> >> I would like know, whether there is any policy for keeping the >> Benchmark test versions in the fuego-core, I mean the current version of= fio in >fuego-core is 2.0.8, but can we upgrade the version to the latest version = (may be >3.30)? >> Because the new versions got more details in the results, which may help= us to >use it. >> I don't have strong reason to upgrade it to latest version, but it is ni= ce to have >latest version as they give more details. > >Upgrading 'fio' seems like something that would not be a problem. There's= no >hard and fast policy, but I try hard to be backwards-compatible to avoid b= reaking >any existing users and their workflows. > >In the case of 'fio', your team has found the parsing differences between = 'fio' >versions. I would want to look at whether there are results differences b= etween >the different fio versions as well. > >I did some experimenting here, and found a few things: > - with 'fio' version 2.0.8 (the version that Fuego ships source for), the= output >includes the 'aggrb=3D' string > - with 'fio' version 2.2.10 (a version I tried on one of my boards), the = output also >included 'aggrb=3D' > - this meant that the parsing change that was submitted failed, becaus= e the >conditional was not correct > - with 'fio' version 3.16 (another version available to me), the output i= ncluded >the 'bw=3D' string > The condition check problem we will re-verify it and send the corrected ver= sion. Regarding the fio result output change , the main change we observed is 'aggrb=3D' to 'bw=3D', and there are other changes but we are not using th= em in our parsing logic. >However, the Fuego test had other problems with subsequent fio versions, >because one of the test elements has been deprecated. I got the following >messages in my testlog.txt: > >./min1.default.6.6/consolelog.txt:fio: failed parsing rwmixcycle=3D40 >./min1.default.6.6/consolelog.txt:Option rwmixcycle is deprecated This is = due to >the test using the workload files from the 2.0.8 version of the test, but = a later >binary where the rwmixcycle sub-workload is not supported. > >(As an aside, are you seeing this message in any of your console logs or t= estlogs >for the fio tests on your systems?) In other mail chain I have sent the RFC patch, in that we fixed this proble= m, kindly please check it > >I checked, and it would be a bit more complicated to fix that issue. It ap= pears >that the example workload files have not been updated to match the 'fio' b= inary >(in the upstream project), even for 3.x version binary packages. So these = likely >need to be patched when using even updated workload files. >(for example, /usr/share/doc/fio/examples/fsx.fio still includes the state= ment >rwmixcycle=3D40, the Ubuntu 3.16 package for fio, even though this directi= ve is >obsolete in the 'fio' binary for that package.) > >So, I'm happy to upgrade base packages, but there must be sufficient time = and >testing to make sure nothing breaks. The fio parser.py change has turned = out to >be more work than I expected. > >> >> As you may know, in Toshiba we were using Debian based system, so we >> use Debian versions of Benchmark tests and we skip the build and >> deploy phases while running the fuego Benchmark tests, but we had to cha= nge >the parsing logic of test results such that it had to parse old and newer = version of >the test results. >> Can we have mechanism to choose the parser.py based on test version? >> May be like below just an idea, need to check how feasible it is >> parser_2.0.8.py parser_3.25.py > >This is possible, but so far the changes between the different version tes= t outputs >are simple enough that I think it's better to keep them in one parser.py, = for the >current set of test measures. However, maybe you desire to add other >measures to the Benchmark? > >There certainly is a lot more data that could be extracted from the test o= utput, >that might be of interest. I haven't compared the rest of the output (onl= y the >lines that the parser.py is currently examining), to see if having a singl= e parser is >feasible. If not, then using different parsers based on version is possib= le. But I'd >still lean towards just using version checks in the current parser (and on= ly having >a single parser.py module) to handle the different fio versions' results o= utput. > >> >> Also, please find my inline comments in below. >> >> Thanks, >> Venkata. >> >> >-----Original Message----- >> >From: Bird, Tim <[email protected]> >> > >> >> -----Original Message----- >> >> From: [email protected] >> >... >> >> > >> >> > I'm a little confused about how you are executing an fio version >> >> > greater than 2.0.8, which is the one installed by fuego_test.sh. >> >> > >> >> We are using the fio from Debian package system which is fio-3.25 >> >> version and that is pre-installed in the board, so we wanted to >> >> update the >> >parsing logic in the fuego-core to report the results correctly. >> >> >> >> We contributing this to upstream so that it will be useful in >> >> future if the fuego- >> >core test are upgraded with later versions. >> >> >> >> > This test doesn't have logic that detects and uses a different >> >> > version of the 'fio' binary if it is already on the board. Do >> >> > you have other changes to this test to go along with the parse chan= ge? >> >> > >> >> Currently we don't have any other changes, in future if we see any >> >> issue will >> >share with you. >> >I figured you were running 'fio' from a distribution package (not the >> >fio binary built by the Fuego test). >> >My question was "how"? >> > >> >On my system, even if I have a newer version of 'fio' installed in >> >/usr/bin, Fuego still executes /home/fuego/fuego.Benchmar.fio/fio >> > >> >I missed the part of fuego_test.sh where 'get_program_path fio' is used= . >> >Apparently in your lab, you either do not run test_deploy, or you >> >have modified the test_deploy() function to not put 'fio' into >> >$BOARD_TESTDIR/fuego.$TESTDIR. >> > >> >That's the part I was asking about. >> > >> >I was wondering if you had something like this in your >> >Benchmark.fio/feugo_test.sh:test_deploy() function: >> >if ! cmd test -f /usr/bin/fio ; then >> > put fio $BOARD_TESTDIR/fuego.$TESTDIR fi >> >> Thanks for reminding this, we have a change similar to that to apply tes= t >configurations present in test_deploy function. >> But they are little complex to apply them in upstream, so we decided >> to currently keep them local, may be one day I will make it simple and f= orward >the patch to upstream. > >OK - if you wouldn't mind, can you send a diff as an RFC? (RFC=3DRequest = For >Comments) to the mailing list? > >This is not a patch submission, but rather just a patch that indicates how= you've >done something, for possible discussion on the mailing list. I'd like to = take a look >at it, if you wouldn't mind. > >It *may be* too complicated to apply to the upstream code, but it may also= give >me ideas for how to support your use case without you having to maintain y= our >own differences to the base code. I have shared the RFC patch for the change we are doing, but that is not th= e correct patch for Upstream anyway, I may work to improve it and send you more appropriate fo= r the upstream, But meanwhile if you have any comment please provide in that patch. > >In general I appreciate the patches you are sending, and want to make sure= that >Fuego continues to support your use cases. And I'd like to understand you= r use >cases and the tests that are most important to you, to make sure they get >needed maintenance and that I avoid breaking them. Basically in my project we are using fuego with non-jenkins version (ftc co= mmand) and for the benchmark tests we use Debian provided versions which are inst= alled in the=20 target board. As I understood fuego is using the fixed test version for their Benchmark/F= unctional tests I think this is helpful for comparing the results with the same test versi= ons, and also to use fuego with different test versions maybe we can make fuego more easily conf= igurable to adopt=20 different test versions. This is just an idea, I am not sure about the complexity or it deviates the= goal of this project.=20 > >It might be worthwhile to have a conference call sometime, to share >information and let me know how best to have Fuego support your testing >efforts. >I have been working recently on supporting more use cases and install setu= ps >that I believe are similar to how Toshiba is using the tool, and I think m= y work >could be better if I knew more about your experience and current practices= with >Fuego > >Let me know what you think and if you'd be amenable to a call sometime. I think it is good idea to share our thoughts in the call. Let me know your available times=20 For me it is good in following dates {11,12,13}/May,=20 any time between 2 ~ 5PM (Indian Standard Time) > -- Tim