Re: GPU-DRM-TILCDC: Less function calls in tilcdc_convert_slave_node() after error detection
From: Jyri Sarha
Date: Fri Sep 23 2016 - 06:37:21 EST
On 09/23/16 10:36, SF Markus Elfring wrote:
>> I think the "if (node)" in the of_node_put() is there on purpose,
>
> Yes, of course.
>
> Does such an implementation detail correspond to a general software design pattern?
>
Yes it does. For instance standard malloc()/free() implementation [1].
>
>> because it potentially saves the caller one extra if()-statement
>
> This can occasionally happen.
>
>
>> and keeps the caller code simpler.
>
> A special view on software simplicity can also lead to questionable intermediate
> function implementation, can't it?
>
I don't really follow. But in any case I do not see anything
questionable in the current tilcdc_convert_slave_node() implementation.
>
>> Keeping the goto labels in right order needs precision
>
> I can agree to this view.
>
>
>> and can lead to subtle errors.
>
> The management of jump labels is just another software development challenge
> as usual, isn't it?
>
Yes. But usually it pays of to avoid complexity when possible.
>
>> Sometimes there is no way to avoid that,
>
> How do you think about to clarify the constraints which you imagine a bit more?
>
If the the of_node_put() behaviour would not be specified with null
pointer as parameter, there would be such a constraint.
I am beginning to have a feeling that this discussion is not going anywhere.
>
>> but here there is.
>
> I disagree to this conclusion.
>
> Would you like to care a bit more for efficiency and software correctness
> around the discussed exception handling?
>
No, I would not. I think we have reached the bottom of this discussion.
For the moment I have more important tasks to do.
Best regards,
Jyri
[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html