lp:~khkim/epics-base/parallel-callbacks

Created by Kim, Kukhee and last modified

1. Make parallel callback task to take the advantage of SMP system.

2. Added new command to set up the number of thread for the each callback.

        callbackSetNumThreads(n)

    The default is n=1, if you need n>1 then you can use the new command.

Remarks) The multiple callback tasks consume the callback requests concurrently.
We could sure the order of starting time for the requests, but we could not sure the order of finishing time due to the concurrent processing.

3. Put mutex for the ring buffer pop to avoid thread safety issue.

4. Now, there is interrupt blocking code on the ring buffer push, we could not use mutex due to this code could be run on the interrupt handler. We need to think more for SMP. Maybe, spin lock?

Get this branch:
bzr branch lp:~khkim/epics-base/parallel-callbacks
Only Kim, Kukhee can upload to this branch. If you are Kim, Kukhee please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Kim, Kukhee
Project:
EPICS Base
Review team:
Andrew Johnson
Status:
Abandoned

Recent revisions

12237. By Kukhee Kim <khkim@linux-e4nv>

parallel callbacks to take advantage of SMP

12236. By Janet B. Anderson

Move linux-x86 GNU compiler tune c flag setting to CONFIG_SITE file.

12235. By Janet B. Anderson

Initial version

12234. By Janet B. Anderson

Initial version

12233. By Janet B. Anderson

Initial version

12232. By Janet B. Anderson

Initial version

12231. By Janet B. Anderson

Added -mtune=generic cflag. Changed -m32 to OP_SYS flags.

12230. By Janet B. Anderson

Added comment about specifying specific machine type and/or cpu type

12229. By Janet B. Anderson

Changed += to = to become ARCH_DEP_CFLAGS override.

12228. By Andrew Johnson

Merge 3.14 changes from 2011-06-06 to 2011-08-17

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~epics-core/epics-base/3.15
This branch contains Public information 
Everyone can see this information.