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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox