Re: [RFCv2 34/37] KVM: s390: protvirt: Add UV debug trace

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

 




On 06.02.20 10:41, Cornelia Huck wrote:
> On Mon,  3 Feb 2020 08:19:54 -0500
> Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote:
> 
>> From: Janosch Frank <frankja@xxxxxxxxxxxxx>
>>
>> Let's have some debug traces which stay around for longer than the
>> guest.
>>
>> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
>> ---
>>  arch/s390/kvm/kvm-s390.c | 10 +++++++++-
>>  arch/s390/kvm/kvm-s390.h |  9 +++++++++
>>  arch/s390/kvm/pv.c       | 21 +++++++++++++++++++--
>>  3 files changed, 37 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>> index 2beb93f0572f..d4dc156e2c3e 100644
>> --- a/arch/s390/kvm/kvm-s390.c
>> +++ b/arch/s390/kvm/kvm-s390.c
>> @@ -221,6 +221,7 @@ static struct kvm_s390_vm_cpu_subfunc kvm_s390_available_subfunc;
>>  static struct gmap_notifier gmap_notifier;
>>  static struct gmap_notifier vsie_gmap_notifier;
>>  debug_info_t *kvm_s390_dbf;
>> +debug_info_t *kvm_s390_dbf_uv;
>>  
>>  /* Section: not file related */
>>  int kvm_arch_hardware_enable(void)
>> @@ -462,7 +463,13 @@ int kvm_arch_init(void *opaque)
>>  	if (!kvm_s390_dbf)
>>  		return -ENOMEM;
>>  
>> -	if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view))
>> +	kvm_s390_dbf_uv = debug_register("kvm-uv", 32, 1, 7 * sizeof(long));
>> +	if (!kvm_s390_dbf_uv)
>> +		return -ENOMEM;
> 
> Doesn't that leak kvm_s390_dbf?

Yes, it does.  I can simply goto out. The kvm_arch_exit will release all non-zero
dbfs.

> 
>> +
>> +
> 
> One blank line should be enough.

ack.

> 
>> +	if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view) ||
>> +	    debug_register_view(kvm_s390_dbf_uv, &debug_sprintf_view))
>>  		goto out;
>>  
>>  	kvm_s390_cpu_feat_init();
>> @@ -489,6 +496,7 @@ void kvm_arch_exit(void)
>>  {
>>  	kvm_s390_gib_destroy();
>>  	debug_unregister(kvm_s390_dbf);
>> +	debug_unregister(kvm_s390_dbf_uv);
>>  }
>>  
>>  /* Section: device related */
> 
> (...)
> 
>> @@ -252,7 +269,7 @@ int kvm_s390_pv_unpack(struct kvm *kvm, unsigned long addr, unsigned long size,
>>  		addr += PAGE_SIZE;
>>  		tw[1] += PAGE_SIZE;
>>  	}
>> -	VM_EVENT(kvm, 3, "PROTVIRT VM UNPACK: finished rc %x", rc);
>> +	VM_EVENT(kvm, 3, "PROTVIRT VM UNPACK: finished with rc %x", rc);
> 
> Can you merge this into the patch that introduces this log entry?

ack.
> 
> Also, do you want to add logging into the new dbf here as well?

ack
> 
>>  	return rc;
>>  }
>>  
> 
> You often seem to log in pairs (into the per-vm dbf and into the new uv
> dbf). Would it make sense to introduce a new helper for that, or is
> that overkill?

I guess the logging will see several changes over time anyway. Let us start
with an initial variant. 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux