RE: Kernel thread scheduling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx [mailto:kernelnewbies-
> bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Ruben Safir
> Sent: Thursday, April 16, 2015 10:09 AM
> To: kernelnewbies@xxxxxxxxxxxxxxxxx
> Subject: Re: Kernel thread scheduling
> 
> On 04/16/2015 12:31 PM, Jeff Haran wrote:
> >> From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx
> [mailto:kernelnewbies-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Mark P
> >> Sent: Thursday, April 16, 2015 8:12 AM
> >> To: Ruben Safir
> >> Cc: nick; kernelnewbies@xxxxxxxxxxxxxxxxx
> >> 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.

Jeff Haran


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux