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

 



Dave, I will make some tests today and will let you know once I have them.

-Ildar

On Thu, Sep 19, 2013 at 10:04 AM, Ildar Muslukhov <ildarm@xxxxxxxxxx> wrote:
> 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