From: ruben@mrbrklyn.com (Ruben Safir)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Kernel thread scheduling
Date: Thu, 16 Apr 2015 10:56:46 -0400 [thread overview]
Message-ID: <20150416145646.GA25677@www.mrbrklyn.com> (raw)
In-Reply-To: <55273AD3.1010000@gmail.com>
I'm trying to find rb_node's structure and I can't find it with ctags or
in the http://lxr.linux.no website.
How do you search these things out?
Ruben
On Thu, Apr 09, 2015 at 10:52:03PM -0400, nick wrote:
>
>
> 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
> >>>
> >>
> >>
> >
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
--
So many immigrant groups have swept through our town
that Brooklyn, like Atlantis, reaches mythological
proportions in the mind of the world - RI Safir 1998
http://www.mrbrklyn.com
DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
http://www.nylxs.com - Leadership Development in Free Software
http://www2.mrbrklyn.com/resources - Unpublished Archive
http://www.coinhangout.com - coins!
http://www.brooklyn-living.com
Being so tracked is for FARM ANIMALS and and extermination camps,
but incompatible with living as a free human being. -RI Safir 2013
next prev parent reply other threads:[~2015-04-16 14:56 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
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 [this message]
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=20150416145646.GA25677@www.mrbrklyn.com \
--to=ruben@mrbrklyn.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).