MESSAGE
DATE | 2015-04-09 |
FROM | Ruben Safir
|
SUBJECT | Subject: [LIU Comp Sci] Re: Kernel thread scheduling
|
From owner-learn-outgoing-at-mrbrklyn.com Thu Apr 9 22:15:46 2015 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix) id 4CF67161167; Thu, 9 Apr 2015 22:15:46 -0400 (EDT) Delivered-To: learn-outgoing-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 28) id 384BF161168; Thu, 9 Apr 2015 22:15:45 -0400 (EDT) Delivered-To: learn-at-nylxs.com Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89]) by mrbrklyn.com (Postfix) with ESMTP id 7A2FB161166; Thu, 9 Apr 2015 22:15:20 -0400 (EDT) Received: from [10.0.0.19] (www.mrbrklyn.com [96.57.23.82]) by mailbackend.panix.com (Postfix) with ESMTPSA id DE91014CA9; Thu, 9 Apr 2015 22:15:15 -0400 (EDT) Message-ID: <55273231.4090809-at-panix.com> Date: Thu, 09 Apr 2015 22:15:13 -0400 From: Ruben Safir User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: learn-at-nylxs.com, Hangout , Maneesh Kongara , tehreem Mirza , Keisha , Justin Lau Subject: [LIU Comp Sci] Re: Kernel thread scheduling References: <20150320231955.GA5713-at-vinc94-desktop> <4E5779AD88B2F040B8A7E83ECF544D1A5C7240-at-SJCPEX01CL03.citrite.net> <508921156.2279151.1426919611846.JavaMail.yahoo-at-mail.yahoo.com> <20150322231449.GA3235-at-vinc94-desktop> <550F509A.9030207-at-gmail.com> <550F58E3.1080500-at-mrbrklyn.com> <550F5FDD.7090602-at-gmail.com> <55272CA2.2090603-at-mrbrklyn.com> <55272EA8.7010908-at-gmail.com> In-Reply-To: <55272EA8.7010908-at-gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: owner-learn-at-mrbrklyn.com Precedence: bulk Reply-To: learn-at-mrbrklyn.com
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 yet :)
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??
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?
Reuvain
> 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 >> > >
|
|