Kernel thread scheduling

Jeff Haran Jeff.Haran at citrix.com
Thu Apr 16 12:31:02 EDT 2015


>From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-bounces at kernelnewbies.org] On Behalf Of Mark P
>Sent: Thursday, April 16, 2015 8:12 AM
>To: Ruben Safir
>Cc: nick; kernelnewbies at kernelnewbies.org
>Subject: Re: Kernel thread scheduling
>
>I find that the free electrons LXR has the best search capabilities:
>
>http://lxr.free-electrons.com/source/include/linux/rbtree.h#L35
>-M

Those interested in kernel source browsers might want to check out the code browser available at https://scan.coverity.com.

Coverity does static code analysis and sells a product to do so, but they do regular scans of popular open source projects. Most of their focus is on finding and reporting defects, but the code browser they have created to do so is far beyond anything else I've found out there. Getting to it is a little awkward, you first need to sign up for an account (I got mine for free), then browse to the linux kernel project and select a defect to get into the browser. But once there, click the folder icon at the top left of the code window and select a source file. All of function names, variable names, structure names and structure field names are hyperlinks. Left click on one of them, click the little down arrow and select from the menu to list definitions, references, etc.

You do need to find a reference to the token in question using some other browser like LXR, Coverity's doesn't seem to have a search button for that, but once located the cross-referencing provided is better than what I've seen in other text matching browsers like LXR, cscope, etc. It's particular good when you are trying to understand how a given field of a structure is used. Say you want to find out how a structure field named "lock" in some structure named "foo" is referenced. Find the definition of struct foo, click on the lock field and list references. It will show all the references to struct foo's lock but NOT show the thousands of references to all of the other fields named "lock" in other structures. That is something no other browser does, at least none that I am aware of.

Jeff Haran



More information about the Kernelnewbies mailing list