man pages and handbooks

Duane Whitty duane at dwlabs.ca
Sun Sep 24 18:14:42 UTC 2006


Duane Whitty wrote:
> Marc Fonvieille wrote:
>> On Tue, Sep 05, 2006 at 07:34:44PM -0300, Duane Whitty wrote:
>>> I've been spending a lot of time recently reading how SMP works, kernel
>>> threads, SA/KSE, callouts, the differences between SCHED_4BSD and 
>>> SCHED_ULE,
>>> locking, caches, etc.  I've still got a lot to learn and a lot to 
>>> actually
>>> start trying to apply in code.
>>>
>>> I've often thought this might be easier if some of the great material
>>> available in the man pages was perhaps streamlined into the evolving
>>> FreeBSD Architecture Handbook.  This is just my opinion of course and
>>> those of you with more experience than me may have good reasons for
>>> not doing so.
>>>
>>> Barring any objections from the community in general and the DOC
>>> project comitters in particular I would like to volunteer to
>>> start adding some material from the man pages into the
>>> FreeBSD Architecture Handbook.  My first targets would be integrating
>>> the material on mutex(9), mtx_*(9), pthread_*(9), lock*(9), atomic_*(9),
>>> sched_4bsd(4), and sched_ule(4) into the material already present in the
>>> handbook.  I would also like to try my hand at creating diagrams to 
>>> illustrate
>>> the data structures used in our kernel code.  Obviously as I learn more
>>> I will probably find more material which would be interesting to have
>>> integrated as well.
>>>
>> [...]
> 
> Hi,
> 
> First let me say thanks for your interest and feedback.
> Input from experienced people such as yourself is very,
> very appreciated.
> 
> I'm CCing docs@ so that the other interested or potentially interested 
> parties can stay involved.
> 
>>
>> If you want to just merge/copy some manual pages parts in the
>> arch-handbook then you miss the point since there's no gain in
>> duplicating the information.  For example if you want to talk about the
>> ULE schedule we are not looking for a sched_ule(4) manual page copy but
>> a documented text covering the features, how to use it or code with it,
> 
> I agree.
> 
>> etc.; another example would be the USB devices, if your look at the
>> current chapter, the text explain how the USB stack works (it's quite
>> the case) but miss a part explaining how to write a simple USB (HID?)
>> driver.
> 
> I somewhat agree but I also don't believe that the
> Architecture Handbook is the best location for detailed
> tutorial information on how to develop for a specific
> subsystem; Just my opinion.  Is that not be what the
> Developers' Handbook is for? [Not meant as a rhetorical
> question]
> 
>   To sum up, most of time, beside the outdated info, the book
>> miss the detailed information on the layout/features of a subject and
>> the application (driver, etc.) examples, i.e, what need a vanilla C
>> coder to write/port something To FreeBSD.
>>
>  > Marc
> 
> 
> I guess my understanding of the FreeBSD Architecture
> Handbook is that it tries to answer the questions
> 
> a) What does a particular subsystem do?
> 
> b) How are the goals of this subsystem accomplished
>    i.e., what are its data structures, what are its
>    algorithms?
> 
> c) Why does the subsystem use the data structures and
>    algorithms that it does?  What are the trade-offs with
>    alternative methods and perhaps even the Handbook should
>    discuss past methods which did not work and why.
> 
May be the above should also include, in the same document,

   c.1) What doesn't work as well as we'd like it to in this
        subsystem?

   d) When and how should I use a particular subsystem

   e) Example code for using a particular subsystem

   f) Debugging methods specific to each subsystem

Best Regards,

Duane Whitty

> Best Regards,
> 
> Duane Whitty
> 



More information about the freebsd-doc mailing list