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

Re: [Xen-devel] [RFC PATCH 1/2] build: add debug menu to Kconfig



On 3/25/16 2:42 PM, Konrad Rzeszutek Wilk wrote:
> On Thu, Mar 24, 2016 at 11:48:18AM -0500, Doug Goldstein wrote:
>> There are a number of debugging options for Xen so the idea is to have a
>> menu to group them all together.
>>
>> Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
>> ---
>> This is more of an RFC than a merge request. If this seems reasonable I'll
>> add all the other debugging options under this menu as well. Obviously if
>> this seems reasonable and the patch is fine we can merge it and I'll submit
>> the others as a follow up.
> 
> There would be more I presume - the lock profile, gcov, crash, etc..

Yes. I just wanted to do one to get an idea of how people felt about the
menu.

> 
> And with the 'randconfig' that means we can turn on/off various options and
> find interesting dependencies (if any).

Exactly. We've found a number of interesting cases with randconfig
already and fixed them. I previously checked some of them against some
of the stable trees and found the combos failed so Travis CI +
randconfig are finding issues but not commonly used ones.

Anyway back to this patch.

> 
> 
> Anyhow back to this patch.

:-D

> 
> The usual method for distros of compiling an Xen with and without debug (like 
> Xenserver)
> is:
> 

This feels very... http://xkcd.com/1172/


> make %{?_smp_mflags} max_phys_cpus=384 xen tools

So two comments on this line.

1) ick! "xen" and "tools" targets have been marked as Legacy since
October 5th 2005!
2) That's been broken since I got rid of max_phys_cpus and moved it to
CONFIG_NR_CPUS (I think that's the name).

spec files for things like busybox include the config file and just copy
it in before running make

cp someplace/config.release xen/.config
make %{?_smp_mflags} dist-xen dist-tools

> 
> make %{?_smp_mflags} -C xen clean

why use the directory here but not in the first step?

make %{?_smp_mflags} clean-xen

would be the matching target

> make %{?_smp_mflags} -C xen debug=y max_phys_cpus=384

ok mind blown. We build xen in the first step with the Legacy target and
then changing to the directory here.

> 
> It would be preferrable to still have this functionality. As in, if we
> do 'debug=y' then verbose=y and frame_pointer=y are automatically enabled?
> 
> Is that something the Kconfig magic can still do?

I could do some wizard-y to allow debug=y to turn things on. Not sure if
the lowercase will work but I can definitely think of a way to make the
uppercase DEBUG=y work. But at that point I don't see the point. I see
the point of debug=y since that's a top level thing.

<continuing the conversation in the other patch since you brought up
some good points there>

>>
>>
>> CC: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
>> CC: Jan Beulich <jbeulich@xxxxxxxx>
>> CC: Keir Fraser <keir@xxxxxxx>
>> CC: Tim Deegan <tim@xxxxxxx>
>> ---
>>  xen/Kconfig       | 2 ++
>>  xen/Kconfig.debug | 6 ++++++
>>  2 files changed, 8 insertions(+)
>>  create mode 100644 xen/Kconfig.debug
>>
>> diff --git a/xen/Kconfig b/xen/Kconfig
>> index fa8b27c..0fe7a1a 100644
>> --- a/xen/Kconfig
>> +++ b/xen/Kconfig
>> @@ -26,3 +26,5 @@ config DEFCONFIG_LIST
>>  config EXPERT
>>      string
>>      option env="XEN_CONFIG_EXPERT"
>> +
>> +source "Kconfig.debug"
>> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
>> new file mode 100644
>> index 0000000..36890bd
>> --- /dev/null
>> +++ b/xen/Kconfig.debug
>> @@ -0,0 +1,6 @@
>> +
>> +menuconfig DEBUG
>> +    bool "Debugging Options"
>> +    ---help---
>> +      If you want to debug Xen say Y and select any additional debugging
>> +      support options.
> 
> .. You can also add:
> 
> Should not be used for production builds.
> 
> Note that any _ASSERTS_ in the code without debug are emitted.
> 
>> -- 
>> 2.7.3
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxx
>> http://lists.xen.org/xen-devel


-- 
Doug Goldstein

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.