All of lore.kernel.org
 help / color / mirror / Atom feed
From: SF Markus Elfring <elfring@users.sourceforge.net>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	"Christian Bornträger" <borntraeger@de.ibm.com>,
	"David Hildenbrand" <dahi@linux.vnet.ibm.com>,
	"Heiko Carstens" <heiko.carstens@de.ibm.com>,
	"Martin Schwidefsky" <schwidefsky@de.ibm.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Radim Krčmář" <rkrcmar@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	kernel-janitors@vger.kernel.org,
	"Julia Lawall" <julia.lawall@lip6.fr>
Subject: Re: [PATCH 3/4] KVM-S390: Less function calls in kvm_s390_import_bp_data() after error detection
Date: Mon, 22 Aug 2016 23:17:26 +0200	[thread overview]
Message-ID: <5da7978a-922b-8ccc-fce4-2bffffca888f@users.sourceforge.net> (raw)
In-Reply-To: <20160822213736.62f1ae29.cornelia.huck@de.ibm.com>

>>>> @@ -273,10 +273,12 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu,
>>>>  	vcpu->arch.guestdbg.nr_hw_wp = nr_wp;
>>>>  	vcpu->arch.guestdbg.hw_wp_info = wp_info;
>>>>  	return 0;
>>>> -error:
>>>> -	kfree(bp_data);
>>>> -	kfree(wp_info);
>>>> +free_bp_info:
>>>>  	kfree(bp_info);
>>>> +free_wp_info:
>>>> +	kfree(wp_info);
>>>> +free_bp_data:
>>>> +	kfree(bp_data);
>>>>  	return ret;
>>>>  }
>>>>
>>>
>>> This replaces a perfectly fine fallthrough
>>
>> The usage of a single goto label like "error" seems to be convenient.
>> But how do these habits fit to the current Linux coding style convention?
>>
>>
>>> with some horrible labels.
>>
>> Do they explain better which processing steps should be performed
>> for an efficient exception handling in this function implementation?
> 
> *sigh*
> 
> It's _exception handling_. It does not need to be "efficient",

I imagine that run time situations could evolve where software efficiency
will also matter for this purpose.


> it needs to be easily parsable by humans.

I guess that we have got different preferences for this detail.


> If in doubt, the compiler will be _much_ better at optimizing
> that kind of stuff anyway.

Which compiler (or optimizer) implementation is capable to restructure
the jump targets for you automatically in the way I propose here?

Regards,
Markus

WARNING: multiple messages have this Message-ID (diff)
From: SF Markus Elfring <elfring@users.sourceforge.net>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	"Christian Bornträger" <borntraeger@de.ibm.com>,
	"David Hildenbrand" <dahi@linux.vnet.ibm.com>,
	"Heiko Carstens" <heiko.carstens@de.ibm.com>,
	"Martin Schwidefsky" <schwidefsky@de.ibm.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Radim Krčmář" <rkrcmar@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	kernel-janitors@vger.kernel.org,
	"Julia Lawall" <julia.lawall@lip6.fr>
Subject: Re: [PATCH 3/4] KVM-S390: Less function calls in kvm_s390_import_bp_data() after error detection
Date: Mon, 22 Aug 2016 21:17:26 +0000	[thread overview]
Message-ID: <5da7978a-922b-8ccc-fce4-2bffffca888f@users.sourceforge.net> (raw)
In-Reply-To: <20160822213736.62f1ae29.cornelia.huck@de.ibm.com>

>>>> @@ -273,10 +273,12 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu,
>>>>  	vcpu->arch.guestdbg.nr_hw_wp = nr_wp;
>>>>  	vcpu->arch.guestdbg.hw_wp_info = wp_info;
>>>>  	return 0;
>>>> -error:
>>>> -	kfree(bp_data);
>>>> -	kfree(wp_info);
>>>> +free_bp_info:
>>>>  	kfree(bp_info);
>>>> +free_wp_info:
>>>> +	kfree(wp_info);
>>>> +free_bp_data:
>>>> +	kfree(bp_data);
>>>>  	return ret;
>>>>  }
>>>>
>>>
>>> This replaces a perfectly fine fallthrough
>>
>> The usage of a single goto label like "error" seems to be convenient.
>> But how do these habits fit to the current Linux coding style convention?
>>
>>
>>> with some horrible labels.
>>
>> Do they explain better which processing steps should be performed
>> for an efficient exception handling in this function implementation?
> 
> *sigh*
> 
> It's _exception handling_. It does not need to be "efficient",

I imagine that run time situations could evolve where software efficiency
will also matter for this purpose.


> it needs to be easily parsable by humans.

I guess that we have got different preferences for this detail.


> If in doubt, the compiler will be _much_ better at optimizing
> that kind of stuff anyway.

Which compiler (or optimizer) implementation is capable to restructure
the jump targets for you automatically in the way I propose here?

Regards,
Markus

  reply	other threads:[~2016-08-22 21:17 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 18:02 [PATCH 0/4] KVM-S390: Fine-tuning for kvm_s390_import_bp_data() SF Markus Elfring
2016-08-17 18:02 ` SF Markus Elfring
2016-08-17 18:06 ` [PATCH 1/4] KVM-S390: Improve determination of sizes in kvm_s390_import_bp_data() SF Markus Elfring
2016-08-17 18:06   ` SF Markus Elfring
2016-08-18  7:25   ` walter harms
2016-08-18  7:25     ` walter harms
2016-08-18  9:02     ` Julia Lawall
2016-08-18  9:02       ` Julia Lawall
2016-08-18  9:48       ` Paolo Bonzini
2016-08-18  9:48         ` Paolo Bonzini
2016-08-18 10:52         ` walter harms
2016-08-18 10:52           ` walter harms
2016-08-18 10:55           ` Paolo Bonzini
2016-08-18 10:55             ` Paolo Bonzini
2016-08-22 12:58             ` Cornelia Huck
2016-08-22 12:58               ` Cornelia Huck
2016-08-24 12:10         ` Replacing specific kmalloc() calls by kmalloc_array()? SF Markus Elfring
2016-08-24 12:10           ` SF Markus Elfring
2016-08-24 15:00           ` Paolo Bonzini
2016-08-24 15:00             ` Paolo Bonzini
2016-08-17 18:08 ` [PATCH 2/4] KVM-S390: Use memdup_user() rather than duplicating its implementation SF Markus Elfring
2016-08-17 18:08   ` SF Markus Elfring
2016-08-22 13:02   ` David Hildenbrand
2016-08-22 13:02     ` David Hildenbrand
2016-08-22 13:05   ` Cornelia Huck
2016-08-22 13:05     ` Cornelia Huck
2016-08-24 15:19   ` Christian Borntraeger
2016-08-24 15:19     ` Christian Borntraeger
2016-08-24 18:30     ` [PATCH v2 0/2] KVM: s390: Fine-tuning for kvm_s390_import_bp_data() SF Markus Elfring
2016-08-24 18:30       ` SF Markus Elfring
2016-08-24 18:36       ` [PATCH v2 1/2] KVM: s390: Improve determination of sizes in kvm_s390_import_bp_data() SF Markus Elfring
2016-08-24 18:36         ` SF Markus Elfring
2016-08-25 16:10         ` Cornelia Huck
2016-08-25 16:10           ` Cornelia Huck
2016-08-25 16:45           ` SF Markus Elfring
2016-08-25 16:45             ` SF Markus Elfring
2016-08-25 17:34           ` Software evolution around scripts for the semantic patch langugae SF Markus Elfring
2016-08-25 17:34             ` SF Markus Elfring
2016-08-25 17:40             ` Cornelia Huck
2016-08-25 17:40               ` Cornelia Huck
2016-08-25 17:54               ` SF Markus Elfring
2016-08-25 17:54                 ` SF Markus Elfring
2016-08-25 18:14             ` Julia Lawall
2016-08-25 18:14               ` Julia Lawall
2016-08-25 18:20               ` SF Markus Elfring
2016-08-25 18:20                 ` SF Markus Elfring
2016-08-25 18:23                 ` Julia Lawall
2016-08-25 18:23                   ` Julia Lawall
2016-08-25 21:04                   ` Cornelia Huck
2016-08-25 21:04                     ` Cornelia Huck
2016-08-24 18:40       ` [PATCH v2 2/2] KVM: s390: Use memdup_user() rather than duplicating code SF Markus Elfring
2016-08-24 18:40         ` SF Markus Elfring
2016-08-25 16:11         ` Cornelia Huck
2016-08-25 16:11           ` Cornelia Huck
2016-10-03 12:11         ` Geert Uytterhoeven
2016-10-03 12:11           ` Geert Uytterhoeven
2016-10-03 12:28           ` SF Markus Elfring
2016-10-03 12:28             ` SF Markus Elfring
2016-10-03 13:10             ` Geert Uytterhoeven
2016-10-03 13:10               ` Geert Uytterhoeven
2016-10-03 13:47               ` SF Markus Elfring
2016-10-03 13:47                 ` SF Markus Elfring
2016-10-03 14:00                 ` Geert Uytterhoeven
2016-10-03 14:00                   ` Geert Uytterhoeven
2016-10-03 14:25                   ` SF Markus Elfring
2016-10-03 14:25                     ` SF Markus Elfring
2016-08-25 16:12       ` [PATCH v2 0/2] KVM: s390: Fine-tuning for kvm_s390_import_bp_data() Christian Borntraeger
2016-08-25 16:12         ` Christian Borntraeger
2016-08-17 18:10 ` [PATCH 3/4] KVM-S390: Less function calls in kvm_s390_import_bp_data() after error detection SF Markus Elfring
2016-08-17 18:10   ` SF Markus Elfring
2016-08-22 12:58   ` David Hildenbrand
2016-08-22 12:58     ` David Hildenbrand
2016-08-22 13:00   ` Cornelia Huck
2016-08-22 13:00     ` Cornelia Huck
2016-08-22 16:56     ` SF Markus Elfring
2016-08-22 16:56       ` SF Markus Elfring
2016-08-22 19:37       ` Cornelia Huck
2016-08-22 19:37         ` Cornelia Huck
2016-08-22 21:17         ` SF Markus Elfring [this message]
2016-08-22 21:17           ` SF Markus Elfring
2016-08-22 21:28           ` Cornelia Huck
2016-08-22 21:28             ` Cornelia Huck
2016-08-31 12:29           ` Paolo Bonzini
2016-08-31 12:29             ` Paolo Bonzini
2016-08-24 15:10   ` Christian Borntraeger
2016-08-24 15:10     ` Christian Borntraeger
2016-08-27 16:12     ` SF Markus Elfring
2016-08-27 16:12       ` SF Markus Elfring
2016-08-17 18:12 ` [PATCH 4/4] KVM-S390: Delete an unnecessary initialisation for a buffer variable SF Markus Elfring
2016-08-17 18:12   ` SF Markus Elfring
2016-08-22 12:59   ` David Hildenbrand
2016-08-22 12:59     ` David Hildenbrand
2016-08-22 13:01   ` Cornelia Huck
2016-08-22 13:01     ` Cornelia Huck

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=5da7978a-922b-8ccc-fce4-2bffffca888f@users.sourceforge.net \
    --to=elfring@users.sourceforge.net \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=dahi@linux.vnet.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=julia.lawall@lip6.fr \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=schwidefsky@de.ibm.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.