Re: [PATCH 2/3] xen-scsiback: One function call less in scsiback_device_action() after error detecti
From: Juergen Gross <jgross@suse.com>
Date: 2016-07-20 04:35:47
Also in:
linux-scsi, lkml
From: Juergen Gross <jgross@suse.com>
Date: 2016-07-20 04:35:47
Also in:
linux-scsi, lkml
On 19/07/16 16:56, SF Markus Elfring wrote:
quoted
quoted
@@ -606,7 +606,7 @@ static void scsiback_device_action(struct vscsibk_pend *pending_req, tmr = kzalloc(sizeof(struct scsiback_tmr), GFP_KERNEL); if (!tmr) { target_put_sess_cmd(se_cmd); - goto err; + goto do_resp; }Hmm, I'm not convinced this is an improvement. I'd rather rename the new error label to "put_cmd" and get rid of the braces in above if statement: - if (!tmr) { - target_put_sess_cmd(se_cmd); - goto err; - } + if (!tmr) + goto put_cmd; and then in the error path: -err: +put_cmd: + target_put_sess_cmd(se_cmd);I am unsure on the relevance of this function on such a source position. Would it make sense to move it further down at the end?
You only want to call it in the first error case (allocation failure).
quoted
+free_tmr: kfree(tmr);How do you think about to skip this function call after a memory allocation failure?
I think this just doesn't matter. If it were a hot path, yes. But trying to do micro-optimizations in an error path is just not worth the effort. I like a linear error path containing all the needed cleanups best. Juergen