From: xerofoify@gmail.com (nick)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Kernel thread scheduling
Date: Thu, 09 Apr 2015 22:52:03 -0400 [thread overview]
Message-ID: <55273AD3.1010000@gmail.com> (raw)
In-Reply-To: <55273179.2030706@mrbrklyn.com>
On 2015-04-09 10:12 PM, Ruben Safir wrote:
> 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 at 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??
>
The way that these structures are related is sched_enity is the entity for the task's scheduling
information or the task_struct of the a excuting process to be exact. Furthermore cfs_rq is the
runquenue on which the task is running or selected to run on by schedule,the main scheduling function
of the kernel. Finally here is the function definition for rq_of to answer your question,
static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
{
return cfs_rq->rq;
}
Before asking questions again like this please look into either using lxr or ctags
to navigate the kernel tree for answers as can be faster then waiting for me or
someone else to respond.
Thanks,
Nick
> 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 at kernelnewbies.org
>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>>>
>>>>
>>>> _______________________________________________
>>>> Kernelnewbies mailing list
>>>> Kernelnewbies at kernelnewbies.org
>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>>
>>>> .
>>>>
>>>
>>>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>
>>
>>
>
next prev parent reply other threads:[~2015-04-10 2:52 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-20 23:19 Kernel thread scheduling Vincenzo Scotti
2015-03-20 23:27 ` Jeff Haran
2015-03-21 6:33 ` Anand Moon
2015-03-22 23:14 ` Vincenzo Scotti
2015-03-22 23:30 ` nick
2015-03-23 0:05 ` Ruben Safir
2015-03-23 0:35 ` nick
2015-04-10 1:51 ` Ruben Safir
[not found] ` <55272EA8.7010908@gmail.com>
2015-04-10 2:12 ` Ruben Safir
2015-04-10 2:52 ` nick [this message]
2015-04-10 3:37 ` Ruben Safir
[not found] ` <5527CB72.1000401@gmail.com>
2015-04-12 2:21 ` Ruben Safir
2015-04-12 3:02 ` Ruben Safir
2015-04-12 4:16 ` nick
2015-04-12 4:53 ` Ruben Safir
[not found] ` <A2417C6E7F04A0438F09C31B33A6BE8B01D9CE3BE7@B-EXH-MBX2.liunet.edu>
2015-04-12 5:06 ` Ruben Safir
2015-04-13 3:21 ` nick
2015-04-17 13:10 ` Ruben Safir
2015-04-17 13:14 ` Ruben Safir
2015-04-16 14:56 ` Ruben Safir
2015-04-16 15:07 ` Ricardo Ribalda Delgado
2015-04-16 15:11 ` Ruben Safir
2015-04-16 15:12 ` Ruben Safir
2015-04-16 15:51 ` Ricardo Ribalda Delgado
2015-04-16 15:10 ` Aruna Hewapathirane
2015-04-16 15:37 ` Ruben Safir
2015-04-16 15:11 ` Mark P
2015-04-16 16:31 ` Jeff Haran
2015-04-16 17:08 ` Ruben Safir
2015-04-16 17:34 ` Jeff Haran
2015-04-16 18:28 ` Ruben Safir
2015-04-16 18:47 ` Valdis.Kletnieks at vt.edu
2015-04-16 21:41 ` Jeff Haran
2015-04-17 7:45 ` Silvan Jegen
2015-04-17 8:50 ` Ruben Safir
2015-04-16 23:05 ` Ruben Safir
2015-04-16 18:32 ` John de la Garza
2015-04-16 18:38 ` Ruben Safir
2015-04-16 18:42 ` Ruben Safir
2015-04-16 19:43 ` Silvan Jegen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55273AD3.1010000@gmail.com \
--to=xerofoify@gmail.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).