I've already posted this question to StackOverflow as
http://stackoverflow.com/questions/25780834/tool-to-identify-apps-data-code-most-susceptible-to-memory-performance
(copied below at the end of the message for convenience).

But since developing a specialized Valgrind tool looks to to me like
the best way to go to get an "ultimate" solution, I decided to ask
here. Obviously the amount of required effort is a concern...

Any advice and any pointers to existing, even partial solutions, good
examples, starting points, whatever, very welcome.

Regards,
Krzysztof


----------------------------
http://stackoverflow.com/questions/25780834/tool-to-identify-apps-data-code-most-susceptible-to-memory-performance

Context:
-- embedded platform running Linux with some static RAM which is
declared about 3 times faster then the rest of RAM (dynamic). The
amount of this fast memory is 512kB and the official name is eSRAM.
(Details not important for this post: Galileo board, information on
eSRAM and relevant kernel API:
https://communities.intel.com/servlet/JiveServlet/previewBody/22488-102-1-26046/Quark_SWDevManLx_330235_001.pdf)
-- eSRAM can be used by an application with some support from the
kernel---a simple driver that allocates kernel memory on its behalf,
overlays the memory with eSRAM (this is done in physical space) and
mmaps it to app's virtual memory space. This was tested and confirmed
to work as expected.

Problem:
Identify which sections of app's data (and possibly code) to map into
eSRAM to achieve optimum performance gain. A suitable analysis tool is
required.

After some search I'm not sure if any existing tool is actually suited
to this task. Currently my best bet is to develop a specialized
Valgrind tool. But maybe there is already something in the ecosystem
to start with. Any advice/information is welcome even if, for
instance, a tool is kind of partially suited etc.

P.S.
Full analysis should probably take a lot of factors into account, like:
-- memory access patterns (cache performance)
-- changes over time (one could consider eSRAM paging)
...

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to