Re: code cleanup

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 30 Apr 2004 10:49:00 -0400
On Thursday 29 April 2004 05:52 pm, Kris Kennaway wrote:
> On Thu, Apr 29, 2004 at 04:56:02PM -0400, John Baldwin wrote:
> > On Thursday 29 April 2004 02:55 pm, Brian Fundakowski Feldman wrote:
> > > John Baldwin <jhb_at_FreeBSD.org> wrote:
> > > > On Thursday 29 April 2004 12:06 am, Alex Lyashkov wrote:
> > > > > > Note that the allproc_lock protects the allproc list.  W/o the
> > > > > > FOREACH_PROC macro, I can grep for 'allproc' in the source tree
> > > > > > to find all users to verify locking, etc.  With the extra macro,
> > > > > > I now have to do multiple greps.
> > > > >
> > > > > two greps is multiple ? first of FOREACH_PROC, second allproc or
> > > > > combine at one grep with two -e parameters.
> > > >
> > > > Multiple means more than one, yes.  When I'm searching the tree when
> > > > locking a structure or fields of a structure I don't usually come up
> > > > with complex grep statements, and actually, I wouldn't find the
> > > > FOREACH_FOO macro until I did the first grep anyway.  When you add
> > > > lots of macros that do this you get a compounding problem.
> > >
> > > For what it's worth, I don't think it is good to hide things as much as
> > > FOREACH_PROC_IN_SYSTEM() -- this specific instance -- does, but grep is
> > > not a good tool for a tree as large as FreeBSD's.  Try using cscope
> > > instead.
> >
> > I've used glimpse in the past but it is buggy.  Actually, grep -r on
> > ssc/sys doesn't take that long, esp. if you do it multiple times as most
> > of the tree is still in cache for subsequent grep's (at least on my
> > laptop).  I also tend to have lots (around 7 or so) trees that have work
> > going on in them at any one time.
>
> The problem with grep -r in src/sys is that it chokes on the symlinks
> created by module builds and pollutes the output with hundreds of
> lines of errors unless you remember to first remove the module build
> files.

I normally do this:

cd work/p4/blah
grep -r foo `ls | grep -v i386`
then
cd i386
grep -r foo `ls | grep -v compile`

That avoids all the kernel compile directories and is quite fast.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Apr 30 2004 - 05:48:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:52 UTC