All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: SF Markus Elfring <elfring@users.sourceforge.net>
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:28:36 +0200	[thread overview]
Message-ID: <20160822232836.1e89676f.cornelia.huck@de.ibm.com> (raw)
In-Reply-To: <5da7978a-922b-8ccc-fce4-2bffffca888f@users.sourceforge.net>

On Mon, 22 Aug 2016 23:17:26 +0200
SF Markus Elfring <elfring@users.sourceforge.net> wrote:

> >>>> @@ -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.

*major sigh*

We can start to optimize error handling that should never run after we
fixed every other performance problem that we have. Not earlier.

> 
> 
> > it needs to be easily parsable by humans.
> 
> I guess that we have got different preferences for this detail.

And I'm maintainer for this code.

> 
> 
> > 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?

No, please stop right here. NACK. EOD.

WARNING: multiple messages have this Message-ID (diff)
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: SF Markus Elfring <elfring@users.sourceforge.net>
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:28:36 +0000	[thread overview]
Message-ID: <20160822232836.1e89676f.cornelia.huck@de.ibm.com> (raw)
In-Reply-To: <5da7978a-922b-8ccc-fce4-2bffffca888f@users.sourceforge.net>

On Mon, 22 Aug 2016 23:17:26 +0200
SF Markus Elfring <elfring@users.sourceforge.net> wrote:

> >>>> @@ -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.

*major sigh*

We can start to optimize error handling that should never run after we
fixed every other performance problem that we have. Not earlier.

> 
> 
> > it needs to be easily parsable by humans.
> 
> I guess that we have got different preferences for this detail.

And I'm maintainer for this code.

> 
> 
> > 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?

No, please stop right here. NACK. EOD.


  reply	other threads:[~2016-08-22 21:28 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
2016-08-22 21:17           ` SF Markus Elfring
2016-08-22 21:28           ` Cornelia Huck [this message]
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=20160822232836.1e89676f.cornelia.huck@de.ibm.com \
    --to=cornelia.huck@de.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=dahi@linux.vnet.ibm.com \
    --cc=elfring@users.sourceforge.net \
    --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.