On Fri, Nov 9, 2012 at 4:00 PM, Saku Ytti <s...@ytti.fi> wrote: >> For IOS-XE we have Linux in charge of the scheduler with a >> multi-threaded IOSd process responsible for the control plane. I'm > > I'm sceptical if this means there isn't normal IOS run-to-completion > scheduler, certainly not all ios processes are separate threads to linux > kernel? But I guess this is moving target. Would be interesting to hear how > many threads, what are threads relative priorities, what runs in each > thread etc. > But anyhow just to hear it is threaded, is good news. Does this mean, IOSd > can capitalize on multiple cores? (Something JunOS cannot do today) >
I do not believe that the linux scheduler is run to completion, but to be honest I'm not 100% certain. I know a big reason for IOS-XE was to be able to operate in multicore environments. From a high level you have IOSd as a process with each traditional process (BGP, OSPF, IP Input) as a thread within IOSd. Overall IOS-XE is Linux managing a few processes: IOSd, FMan-RP, CMan-RP (and a few others) FMan deals with adjacencies and CMan deals with modules/cards and IOSd all the interesting stuff. Since Linux is the piece actually running the show IOS-XE gets all the memory management and scheduling benefits that linux has.