From: Bandan Das <bsd@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>, KVM <kvm@vger.kernel.org>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH kvm-unit-tests] cscope: fix database generation
Date: Wed, 20 Apr 2016 10:31:24 -0400 [thread overview]
Message-ID: <jpglh48bbcz.fsf@linux.bootlegged.copy> (raw)
In-Reply-To: <20160420084355.ozvxntl2v3dkjymo@hawk.localdomain> (Andrew Jones's message of "Wed, 20 Apr 2016 10:43:55 +0200")
Andrew Jones <drjones@redhat.com> writes:
> On Tue, Apr 19, 2016 at 03:44:50PM -0400, Bandan Das wrote:
>> Radim Krčmář <rkrcmar@redhat.com> writes:
>>
>> > 2016-04-19 14:58-0400, Bandan Das:
>> >> Radim Krčmář <rkrcmar@redhat.com> writes:
>> >>> 2016-04-19 13:08-0400, Bandan Das:
>> >>>> Andrew Jones <drjones@redhat.com> writes:
>> >>>>> On Mon, Apr 18, 2016 at 07:04:55PM -0400, Bandan Das wrote:
>> >>>>>>
>> >>>>>> The cscope.files that we generate doesn't include all
>> >>>>>> source files that are potentially interesting. We should
>> >>>>>> include all $(ARCH)es and not the just the one configure
>> >>>>>> finds. Moreover, $(ARCH) expands to x86_64 which is not the
>> >>>>>> correct path for x86 sources. Generate cscope.files by searching
>> >>>>>> for all files starting from root.
>> >>>>>
>> >>>>> No thanks :-) I'd rather not get hits for x86 and powerpc when
>> >>>>
>> >>>> I don't think that's a good idea. Just because you don't like to
>> >>>> see x86 bits when jumping around in arm code doesn't mean you should
>> >>>> hide all references to a given function. And if the arm code is
>> >>>> segregated enough that there are no common functions, you won't
>> >>>> see them anyway.
>> >>>> [...] But please let's
>> >>>> not make it difficult to write arm/powerpc tests just because someone's on
>> >>>> x86 :)
>
> How does it make it more difficult to write arm/powerpc tests on x86?
> I do it all the time. Of course you need to run ./configure --arch=<ARCH>
> first, but you need to do that to compile anyway.
>
>> >>>
>> >>> In the kernel, environment can override configuration, so you'd do
>> >>>
>> >>> % ARCH=arm make cscope
>> >>>
>> >>> and it doesn't matter what arch is being compiled. I think this would
>> >>> be a better solution for kvm-unit-tests too.
>
> This is what kvm-unit-tests does, except it takes ARCH from config.mak,
> instead of making you specify it, and there is no 'everything' option,
> default or otherwise right now.
>
>> >>>
>> >>> I agree with Drew that other arches would mostly clutter searches if
>> >>> they were included by default, but we can also add a rule in case
>> >>
>> >> Since you mentioned the kernel, it looks like both the kernel/qemu
>> >> include all by default which makes sense to me.
>> >
>> > qemu does, kernel doesn't (e.g. search for sys_sigreturn).
>>
>> Not exactly, arch specific(arch/*) files are excluded but there are
>> others such as sound/* include/* that are not all x86 specific. The
>> arch segregation is helpful since there would be functions with similar
>> names (and similar functionality). That's not the case for every file
>> in x86/ and arm/ of kvm-unit-tests.
>
> kvm-unit-tests' cscope find collects all common files and all arch
> specific files, just as you've described about the kernel. Please give
> an example of where you couldn't find something you needed with this
> find, so that I know what the problem is. Also, if there is a problem,
Sorry, you are right. Looks like I was looking at stale files (iotable.c/h)
which don't exist anymore. So, I think the current setup works for me
too since I mostly work on x86. For other times, when I do have to certain
things in other arches, I will just run cscope by hand.
> we can likely extend the find just a bit, rather than changing it to a
> wholesale search.
>
>>
...
>>
>> Yes, the option is definitely nice but making it the default, not so much.
>
> As should be clear by now, IMHO, the default is not only nice, but correct.
> Feel free to add a cscope-all target though.
Yeah, I can live with this too. IMHO, the default is a matter of preference, there's
no question of correctness.
>>
>> > (I don't care about the default much, `ARCH=$sth make cscope` is easy
>> > to type if the default included all.)
>
> I can live with that too, but I do care about defaults, and defaults
> should target the common cases. I haven't yet seen enough justification
> as to why seeing everything (whether you want to or not) is the best
> common case for kvm-unit-tests' cscope generation.
Me neither, I am not convinced yet how including all files obstructs your workflow
but I am certain living with the defaults won't obstruct mine.
> Thanks,
> drew
next prev parent reply other threads:[~2016-04-20 14:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-18 23:04 [PATCH kvm-unit-tests] cscope: fix database generation Bandan Das
2016-04-19 5:25 ` Andrew Jones
2016-04-19 17:08 ` Bandan Das
2016-04-19 18:38 ` Radim Krčmář
2016-04-19 18:58 ` Bandan Das
2016-04-19 19:22 ` Radim Krčmář
2016-04-19 19:44 ` Bandan Das
2016-04-20 8:43 ` Andrew Jones
2016-04-20 14:31 ` Bandan Das [this message]
2016-04-20 14:45 ` Andrew Jones
2016-05-10 13:55 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jpglh48bbcz.fsf@linux.bootlegged.copy \
--to=bsd@redhat.com \
--cc=drjones@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.