fkt-devel
[Top][All Lists]
Advanced

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

Patch to support big buffers


From: Philippe SWARTVAGHER
Subject: Patch to support big buffers
Date: Tue, 25 Feb 2020 11:51:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

Hello,

The attached patch fxt_big_buffer_callback.patch does two things:

* it fixes buffer sizes bigger than 2 GB (size was stored in 32 bits variables -> changed to 64 bits variables).

* it adds a parameter to the fut_setup function to define a callback function to call when FUT is flushing buffer because it is full, and not because it's the end of the tracing. This allows to be aware that buffer size is too small and maybe it can impact performance of the traced application.

The patch starpu_fxt_big_buffer.patch is an example of integration of the callback in StarPU (also to test if my FUT patch works nicely !). I will wait for a release of the patched FUT before committing it properly in StarPU.

I hope the patch format is correct...


Moreover, two questions:

* is it possible to add a FUT routine to force the flush, even if the buffer isn't full and tracing isn't finished ? I don't know if calling directly fut_flush() is a proper way of doing it. (use case: flush buffers between each iteration of Chameleon benchmark ;) )

* I noticed the write syscall doesn't support writing more than 2 GB at one time (fixed in my patch). But I asked myself if there is a way to check if a trace is complete/not corrupted (ie it doesn't contain only the first 2 GB !) ? I tried some stuff with events FUT_STOP_FLUSH_CODE, but these events are registered only when flushing occurs during the recording, not at the end. Are there events which clearly define the beginning and the end of a trace ? Or an event counter stored in the trace ?

--
Philippe SWARTVAGHER

Doctorant
Équipe TADaaM, Inria Bordeaux Sud-Ouest

Attachment: fxt_big_buffer_callback.patch
Description: Text Data

Attachment: starpu_fxt_big_buffer.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]