Re: [PATCH] perf bench: add new benchmark subsystem and suite "futexwait"

From: Darren Hart
Date: Wed Jun 13 2012 - 12:52:49 EST




On 06/07/2012 08:11 AM, Hitoshi Mitake wrote:
> On Thu, Jun 7, 2012 at 1:02 AM, Hitoshi Mitake <h.mitake@xxxxxxxxx> wrote:
>> On Wed, Jun 6, 2012 at 4:39 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>>>
>>> * Darren Hart <dvhart@xxxxxxxxxxxxxxx> wrote:
>>>
>>>> On 05/20/2012 02:37 AM, Hitoshi Mitake wrote:
>>>>> On Sun, May 20, 2012 at 5:32 PM, Hitoshi Mitake <h.mitake@xxxxxxxxx> wrote:
>>>>>> On Fri, May 18, 2012 at 1:24 AM, Darren Hart <dvhart@xxxxxxxxxxxxxxx> wrote:
>>>>>>> On 05/17/2012 08:21 AM, Hitoshi Mitake wrote:
>>>>>>>> Hi Ingo, Eric and Darren,
>>>>>>>> (CCed perf and futex folks)
>>>>>>>>
>>>>>>>> I wrote this patch for adding new subsystem "futex" and its suite "wait" to perf
>>>>>>>> bench on tip/master. This is based on futextest by Darren Hart.
>>>>>>>>
>>>>>>>> Could you allow me to import your source code of futextest to perf bench, Darren?
>>>>>>>>
>>>>>>>
>>>>>>> I do have some concerns I'd like to address first.
>>>>>>>
>>>>>>> What is advantage of incorporating this into perf as opposed to running
>>>>>>> it with perf?
>>>>>>
>>>>>> The main and direct advantage is that perf bench can share useful
>>>>>> utilities stored under tools/perf/util/ directory e.g. parse-options[ch].
>>>>>>
>>>>>
>>>>> BTW, I often feel parse-options.[ch] of perf (this was come from git,
>>>>> right?) is very useful not only for perf and git but also other
>>>>> projects. So I think these stuff are worth independence as a
>>>>> library. If the library contains unified feature for parsing and
>>>>> evaluating configuration files, the hell of managing configurable
>>>>> options will be reduced. e.g. I often use "strace -e open <command>"
>>>>> to detect configuration files read by the <command>...
>>>>>
>>>>> I thought that if perf bench can be independent from perf with such
>>>>> efforts, it can be smaller sized and statically linked binary. From my
>>>>> experience, this will be good for embedded systems people.
>>>>>
>>>>> This independence also has risk: less people can find it or is
>>>>> attracted even if it stays in the kernel tree (e.g. tools/bench/). But
>>>>> it seems that very few people know about perf bench, so this will not
>>>>> be a serious problem ;)
>>>>>
>>>>> I'd like to hear your opinion.
>>>>
>>>> I haven't been involved with perf tools/bench so I haven't
>>>> really formed an opinion. Ingo and Arnaldo, would either of
>>>> you care to weigh in on the pros/cons of merging futextest
>>>> into perf?
>>>
>>> No objections from me - 'perf bench futex' seems rather natural
>>> to type to me and it would certainly make futex performance
>>> testing easier and more widespread.
>>>
>>> So it all depends on whether you'd like to host it upstream and
>>> within tools/perf/bench/.
>>>
>
> There is another problem. futextest containts code not for benchmark,
> for functional tests. My understand is: Darren doesn't like the
> situation that the benchmark part is imported into perf bench and the
> functional test part remains in futextest. Because this situation is
> not good for maintenance.
>
> I think that the functional tests part is not suitable for perf bench
> because of its purpose, but suitable for tools/ directly of Linux
> kernel.
>
> If both of benchmark part and functional test part of futextest can be
> imported into kernel source tree, maintenance problem will be solved.
> Even if the benchmark part (in perf bench) and functional test part
> are devided, they will be able to share common header files. For
> example, these headers can be placed in tools/include directory.
>
> Thanks,


If tools/testing is an appropriate place for functional and stress tests
that would make this easier. I really like the idea of more testing for
futexes and more eyes on the futextest code itself.

Is completely integrating futextest into linux/tools/perf and
linux/tools/testing the approach everyone would like to see us take here?

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/