Messages in this thread | | | Date | Tue, 31 Mar 2015 02:08:06 +0100 | From | Pádraig Brady <> | Subject | Re: [PATCH] ftracetest: Do not use usleep |
| |
On 31/03/15 01:48, Namhyung Kim wrote: > Hi Steve, > > On Mon, Mar 30, 2015 at 05:15:11PM -0400, Steven Rostedt wrote: >> On Thu, 26 Mar 2015 09:32:23 +0900 >> Namhyung Kim <namhyung@kernel.org> wrote: >> >>> The usleep is only provided on distros from Redhat so running ftracetest >>> on other distro resulted in failures due to the missing usleep. >>> >>> The reason of using [u]sleep in the test was to generate (scheduler) >>> events. But as we use 'cat trace | grep | wc -l' to read the events, >>> the command themselves already generate some events before reading the >>> trace file so no need to call [u]sleep explicitly. >> >> Note, opening "trace" via cat stops tracing. There is a possible race >> where the cat will not produce events. My worry is that if the shell >> implements its own "cat" command, it may not fork, and open the trace >> file. Which would not have any events in it, and opening it will >> disable the rest of the command from having events. > > I understand your point. But this is not just cat, it needs grep and > wc also. So I think there should be scheduler event(s). > >> >> What about using: >> >> ping localhost -c 1 >> >> ? > > I'm okay with ping though but worried if some tiny system might lack > the ping command..
I'd use a fallback method like:
yield() { sleep .001 || usleep 1 || sleep 1; }
Then just s/usleep 1/yield/
cheers, Pádraig.
| |