MorphOS Developer
Posts: 1107 from 2003/6/11
From: Białystok...
Quote:
Georg wrote:
I would do multiple core support by simply allowing (through some new Exec functions) tasks to enter and leave a special state where they are multi-core-safe. While in this state the scheduler is allowed to run them on other cores.
I do not like the idea personally, as it assumes the kernel will have to move a process from a core to another one. This will be performance costly and can potentially create many compatibility problems. My idea is that a proces once launched on core N will stay there until termination. About calling libraries from MProcesses - those libraries with shareable bases should be safe. Libraries with non-shareable bases (bsdsocket.library for example) will be not allowed to be called from MProcesses in the first stage of multicore transition. Then multicore-safe versions of them will be created. It is a problem of course, but not very big one. The first candidates for MProcesses will be tasks of number crunching and multimedia processing. Such tasks do not need any I/O libraries, just data are passed via memory blocks and basic IPC is needed for synchronization.
[ Edited by Krashan on 2009/9/30 17:15 ]