Thanks, Brennan and Petr, for the recommendations.

At this point, I am only trying to ascertain if there are a few people interested in participating in such a project.  I think it is more that I can consider to do alone so any further steps would require some interest in the development itself.

Brennan, you asked about the target side effort.  That would be pretty small because the instrumentation was build into the OS on day one.  You can see this in sched/Kconfigs for the description of CONFIG_SCHED_INSTRUMENTATION.  When that the option is enabled, OS hooks in the form of call-outs are enabled.

There is some current use of those call-outs now for target-side, software monitoring of the scheduler.

- There is logic sched/sched/sched_note.c that will buffer the instrumented data in memory - There is a character driver at drivers/syslog/note_driver.c that will export the buffered instrumentation to any application via a character driver - There is an application at apps/system/sched_note that will use that driver to periodically show OS activity

None of this, of course would be used in the proposed host-based monitoring except for the raw OS call-outs.  For this proposal, a modest amount of new development would be needed:

- Board-specific initialization of the parallel interface (like the FMC/FSMC in STM32 MCUs) so that writes to a memory mapped address will add data to the FIFO. - A new module that would (1) receive the OS instrumentation call-outs, (2) encode/marshal the scheduler event data into a byte stream, and (3) transfer the data to the FIFO by writing the byte stream to the memory mapped address

That is not such a big effort.  The other efforts would be to configuration the host-side USB driver, verify proper transfer of data, and develop the application to present the data graphically.  Those, I believe, are more effort than the work on the target side.

So, in general, I think the target side is in good shape for this use.

Greg


Reply via email to