[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
fxt_big_buffer_callback.patch
Description: Text Data
starpu_fxt_big_buffer.patch
Description: Text Data
- Patch to support big buffers,
Philippe SWARTVAGHER <=