Kernel thread scheduling
Jeff.Haran at citrix.com
Thu Apr 16 13:34:41 EDT 2015
> -----Original Message-----
> From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-
> bounces at kernelnewbies.org] On Behalf Of Ruben Safir
> Sent: Thursday, April 16, 2015 10:09 AM
> To: kernelnewbies at kernelnewbies.org
> Subject: Re: Kernel thread scheduling
> On 04/16/2015 12:31 PM, Jeff Haran wrote:
> >> 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
> Is it free software? Can I download it?
The web site is free to use. The code that runs it is proprietary.
> How is it better than grep and sed?
> Does it work better than ctags?
Grep, sed, ctags, cscope, etc. can only find references based on text matches. C allows duplicate field names across structure definitions. When using text based browsers to look for references to C structure field names on a large project like linux such searches yield lots of false positives, thousands of them in some cases. Coverity's browser on the other hand seems to understand C syntax. When looking for references so say struct foo's lock field, it won't show you references to struct bar's lock field. Other tools can't tell the difference.
> How can I get it to ingrate with vim?
You can't so far as I know.
> First off, if it is not available as free Software, then I won't use it.
That is of course your choice to make. Others may come to different conclusions. I use www.google.com on a regular basis even though I can't download it.
More information about the Kernelnewbies