[PATCH v3 0/4] tty: TX helpers
Jiri Slaby
jirislaby at kernel.org
Wed Sep 7 00:19:25 PDT 2022
On 06. 09. 22, 13:30, Johan Hovold wrote:
> On Tue, Sep 06, 2022 at 12:48:01PM +0200, Jiri Slaby wrote:
>> This series introduces DEFINE_UART_PORT_TX_HELPER +
>> DEFINE_UART_PORT_TX_HELPER_LIMITED TX helpers. See PATCH 2/4 for the
>> details. Comments welcome.
>>
>> Then it switches drivers to use them. First, to
>> DEFINE_UART_PORT_TX_HELPER() in 3/4 and then
>> DEFINE_UART_PORT_TX_HELPER_LIMITED() in 4/4.
>>
>> The diffstat of patches 3+4 is as follows:
>> 26 files changed, 191 insertions(+), 823 deletions(-)
>> which appears to be nice.
>
> Not really. This is horrid. Quality can't be measured in LoC (only).
>
> The resulting code is unreadable. And for no good reason.
IMO, it's much more readable than the original ~ 30 various (and buggy
-- see Ilpo's fixes) copies of this code. Apart from that, it makes
further rework much easier (I have switch to kfifo in my mind for example).
> [ And note that you're "saving" something like 20 lines per driver:
It's not about saving, it's about deduplicating and unifying.
> 12 files changed, 84 insertions(+), 349 deletions(-)
> ]
>
> NAK
I'd love to come up with something nicer. That would be a function in
serial-core calling hooks like I had [1] for example. But provided all
those CPU workarounds/thunks, it'd be quite expensive to call two
functions per character.
Or creating a static inline (having ± the macro content) and the hooks
as parameters and hope for optimizations to eliminate thunks (also
suggested in the past [1]).
[1] https://lore.kernel.org/all/20220411105405.9519-1-jslaby@suse.cz/
thanks,
--
js
suse labs
More information about the linux-riscv
mailing list