Re: GPU-DRM-TILCDC: Less function calls in tilcdc_convert_slave_node() after error detection

Jyri Sarha
2016-09-23T10:37:18Z

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