Re: Kernel thread scheduling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/09/2015 10:00 PM, nick wrote:
> 
> 
> On 2015-04-09 09:51 PM, Ruben Safir wrote:
>>
>> It is passover so I've read over much of this text, but I have to say
>> that in general, I'm way ahead of this book.  Although I have limited
>> knowledge of Kernel technology in the specific, the C code, data
>> structs, and programming concepts are spoon feed in this text and its
>> wasting too much time with words that are more easily explained with
>> coding examples and UML charts.  I don't need a chapter explaining how
>> to use ps and the basis of Unix architecture.  This text is targeted to
>> a different audience, and FWIW, I'm not certain it does a good job of
>> that either.  The guys who write these texts fall in love with their own
>> voices.  I know, I've suffered this disease myself when I've written
>> tech articles and books.
>>
>> I can''t recommend this book to anyone.  Anyone who doesn't understand
>> the basics of I/O processer blocks is not going to understand
>>
>> static void update_curr(struct cfs_rq *cfs_rq)
>>
>>
>> and OTOH void update_curr(struct cfs_rq *cfs_rq) is not explained well
>> enough for coders unfamiliar with the kernel data structs of which BTW
>> struct cfs_rq is not one defined in the text.
>>
>> :(
>>
>> I'm looking for something more like this, but flushed out more as a textbook
>>
>> http://www.ibm.com/developerworks/library/l-completely-fair-scheduler/index.html,
>> and some mentoring, I hope.
>>
>>
>> Ruben
>>
> Ruben,
> The book is for an intro to the kernel not a complete walk through of each subsystem.
> If that is the case,why not read the subsystem code and docs in the kernel. I am a
> novice myself in terms of patch and coding experience but will be glad to explain the
> code as I have read lots of it.


Thank you nick.  Yes, I downloaded the entire source from Kernel.org and
it is sitting on both my laptop and in virtual machines where I have
already compiled some stuff and not broken my VMs yets :)

I'm looking over  /home/ruben/linux-3.19.3/Documentation/scheduler
[ruben@stat13 scheduler]$ ls

00-INDEX   sched-deadline.txt     sched-rt-group.txt
media=legal -o sides=two-sided-long-edg  sched-design-CFS.txt
sched-stats.txt sched-arch.txt sched-domains.txt
sched-bwc.txt   sched-nice-design.txt


I also see in the code there is significant documentation.

Right now I am trying to figure out what is the relationship between
struct sched_entity and
struct cfs_rq and
struct rq_of

why do we have both??

there is a cast in update_curr
u64 now = rq_of(cfs_rq)->clock;

or is rq_of a function that returns a pointer is a struct that I missed?





> Nick
>> On 03/22/2015 08:35 PM, nick wrote:
>>>
>>>
>>> On 2015-03-22 08:05 PM, Ruben Safir wrote:
>>>> On 03/22/2015 07:30 PM, nick wrote:
>>>>> I would recommend reading Chapters 3 and  4 of Linux Kernel Development by Robert Love
>>>>> as when I was learning the scheduler and process management
>>>>
>>>>
>>>> how much has the scheduler changed since then.  It was completely
>>>> overhauled when the CFS was created
>>>>
>>>>
>>>>
>>> The 3rd edition of this book was written after CFS was in the kernel so the chapters
>>> are pretty up to date.
>>> Nick
>>>> _______________________________________________
>>>> Kernelnewbies mailing list
>>>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>>
>>>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>
>>> .
>>>
>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
> 
> 


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux