gwsystems/composite

Creation of only capmgr INITTHD by the booter

phanikishoreg opened this issue · 0 comments

In my current implementation, booter creates all components and creates INITTHDs in 2 components: capmgr and root scheduler.

It then activates capmgr INITTHD to allow it to initialize itself and make a SINV to booter back to say that it is done. Next, it activates root scheduler to take over the scheduling in the system.

@gparmer suggested that we can instead only create INITTHD in capmgr and dispatch to it from the booter after creating all components.
The capmgr will be responsible to create INITTHD in the root scheduler. This will remove the requirement of getting INITAEP information from hypercall layer by capmgr and also to have to call INIT DONE hypercall from the capmgr.
In the system where there is no capmgr, the booter still creates only the root scheduler and it hands off control to that in very much the same way. (Booter will ideally not have any additional logic in dispatching to check if it's dispatching to capmgr or root scheduler component, simplifying the booter code.).

This must be easy and doable. However I want to do this in a separate PR and not in the current PR#315. So I'm adding this as an issue and will continue to work on this and make a PR after the current one.