Re: [PATCH net-next v2 1/2] net: dsa: Use conduit and user terms

From: Vladimir Oltean
Date: Mon Oct 23 2023 - 15:32:11 EST


Hi Pavel,

On Mon, Oct 23, 2023 at 09:12:42AM +0200, Pavel Machek wrote:
> On Wed 2023-10-11 15:20:25, Florian Fainelli wrote:
> > Use more inclusive terms throughout the DSA subsystem by moving away
> > from "master" which is replaced by "conduit" and "slave" which is
> > replaced by "user". No functional changes.
>
> Note that by making it more "inclusive" you make it incomprehensible
> for users where english is not their first language.

I will preface by saying that I am quite indifferent to the whole inclusivity
movement, with a personal tendency of considering it silly and superficial,
and frankly a waste of time and resources. But I get that to some it may
matter more than to me. And it's not my time that gets wasted..

Based on "DSA has become incomprehensible because it replaced master/slave
with terms I don't know", I think an analogous attitude that's closer to
home could just as well be: "I'm a complete stranger, but why is eastern
Europe going through decommunization?! All I knew about eastern Europe
is that it was communist!"

I believe that in order to make an omelette, you need to break a few eggs,
and applied here, that seems to mean that A1 level English speakers get
to learn a word from the A2 vocabulary. I don't see how learning some
new words in a foreign language could do too much harm for the individual
going through that process.

> Plus, "user" already means something else in kernel context

If DSA is going to replace master/slave with something else, the
user/conduit terms have the legitimacy of being documented alternative
names at least since 2015's commit 77760e94928f ("Documentation:
networking: add a DSA document") and 2016's commit 83c0afaec7b7 ("net:
dsa: Add new binding implementation").

It also needs to be said that I never found master/slave to be a perfect
description of the hierarchy in DSA (but I just didn't care enough to
change it). If you think about it in terms of netdev adjacency lists for
example, the slaves are the uppers and the master (host interface) is
the lower... Or the subordination relationship could also be seen in
reverse because the user doesn't interact directly with the master/CPU
conduit interface most of the time, it just gets reconfigured
automatically, in a way initiated by some other entity, with what's
necessary to process switch-tagged traffic.

> so this will likely be confusing even for native speakers.

Sidetracking a bit, there was a joke I can't find anymore, so I'll just
paraphraze it:

"- what do drug dealers and computer engineers have in common?
- they both call their customers 'users'".

I think/hope most native speakers got past the confusion at this point,
and just think of technical terms as words devoid of their original
meaning (which also makes the master/slave dilemma questionable TBH,
but what do I know). If there is any doubt, DSA has ample documentation
which clarifies what a slave (now user) port is. There is also a
paragraph documenting the naming change from master/slave.

> This is wrong.

Hmm, the topic is a bit arid for me to get too heated about it, but I
don't think that your arguments justify such a strong conclusion...
Your premise seems to be that people cannot learn, and can never adapt.