> 
> I wonder if so much assembly code is really necessary for FreeBSD. One
> argument for minimal usage of assembly code is that it is easier to code
> non trivial algorithms in C.
> 
> One such example is the scheduler. Since the decision about which process
> is going to run next is decided in assembly code, it is restricted to a
> relatively dumb algorithm of scanning the runqs and picking one. If the
> mechanism (i.e nuts and bolts of the context switch) is coded in assembly
> and the policy (which process to pick next) is done in C, the code would
> be much more maintainable, IMO.
> 
> How do people feel about it here ?

I've been studying this just recently.  The "pick the next proc" code 
really should be MI and written carefully in C, yes.  But if you look 
at the code surrounding it, for example, it needs some very careful 
thought.

Much of the assembly code actually in use is there for performance or 
architecture-related reasons; in many cases if you were to rewrite in C 
you would just end up with a lot of asm() macros...

-- 
\\  The mind's the standard       \\  Mike Smith
\\  of the man.                   \\  msm...@freebsd.org
\\    -- Joseph Merrick           \\  msm...@cdrom.com




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to