A bit confused with the sched_4bsd.c code

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Fri May 6 05:40:26 PDT 2005


On Fri, May 06, 2005 at 09:39:21AM +0200, gerarra at tin.it wrote:
> 
> 
> >Halil Demirezen wrote:
> >> Hello,
> >> 
> >> First of all, I am not sure if this is the correct mail list with posting
> >this 
> >> mail. I apologize for that.. Second, I may seem to have little 
> >> C knowledge, though I am using C for about 5 years and plus.
> >> 
> >> Let's start with the question. I am digging the FreeBSD-5.3 kernel codes.
> >> Watson's Cross Reference is really helpful. In the schedcpu(void) function
> >> there is an assignment like "ke = td->td_kse;" on line 438  (see: 
> >> http://fxr.watson.org/fxr/source/kern/sched_4bsd.c?v=RELENG53#L438").
> >> When I look at the thread structure at sys/proc.h, I could not see such
> >an
> >> entry td_kse in the "thread" structure. How has this structure been extended
> >
> >> or this entry added to the thread structure?
> >> 
> >> Although the kernel codes seem to be simply understandable, there still
> >lies
> >> some difficulties to understand for an average C programmer: magic stuff
> >done
> >> by professionals. :)
> >> 
> >> Anyway, any help really will be appreciated...
> >> 
> >> Thanks.
> >
> >Look near the top of the file for:
> >
> >#define td_kse td_sched
> >
> >That makes td->td_kse resolve to td->td_sched.  Now, there is
> >other magic associated with td_sched in each scheduler source
> >file, but that's different matter =-)
> 
> If you *really* want to dig inside sources remind that grep is your friend

I'd go with cscsope (ports/devel/cscope) instead of grep... ;)


More information about the freebsd-hackers mailing list