[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Vince,

Will take a look at it.


On Thu, Sep 19, 2013 at 9:49 AM, Vince Weaver <vincent.weaver@xxxxxxxxx> wrote:
> On Thu, 19 Sep 2013, Dave Jones wrote:
>
>> It might be worth looking at Vince's perf fuzzer to see what he's done there
>> for bisecting/generating test cases.
>
> my perf_fuzzer doesn't do anything that complicated.
>
> In its current setup it only has one thread, which occasionally forks off
> a child but it always kills the child before forking off another.
>
> I find the run-to-run reproducibility of traces to be surprisingly
> consistent when given the same random seed.  Even hundreds of thousands
> of syscalls in I can usually hit the same bugs at roughly the same
> syscall count.
>
> I find this suprising because when perf events are involved nothing is
> deterministic; if you are measuring things like cycles with overflow, the
> cycle count is going to depend on what else is going on in the system, and
> if your overflow handler consumes randomness (hard because rand() isn't
> signal-handler safe, but possible with a few hacks) you'd expect things ro
> diverge.
>
> As for bisecting, my major problem is dependent syscalls, something that
> might not be as big an issue on trinity.  The way perf_fuzzer is set up
> you open an fd with perf_event_open(), then lots of other syscalls act on
> the fd.  So if your bisect happens to cut off the open of the fd, then
> all subsequent dependent syscalls fail.  I don't have a good automatic
> solution to that, I've so far been placing the bisect points by hand and
> just having the replayer be robust in cases where invalid dependent
> syscalls appear in the trace.
>
> perf_fuzzer also has a somewhat human-readable log format, which wastes
> disk space but makes it easier to do somewhat manual bisects using a text
> editor.
>
> Vince
>
>
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe trinity" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux