[Libre-soc-dev] gigabit router design decisions

Luke Kenneth Casson Leighton lkcl at lkcl.net
Tue Nov 2 11:56:30 GMT 2021


On Tue, Nov 2, 2021 at 1:10 AM Jacob Lifshay <programmerjake at gmail.com> wrote:

> > this is an optimistion, and it is scope-creep.
> >
>
> Well, I disagree...afaict we never actually decided as a project what exact
> kind of cpu we want for the gigabit router...

no: and you were not part of the team (because you had effectively
left, by working for 18 months full-time on Rust, unpaid), and also
because i had only 48 hours notice in which to complete the Grant Application

did you help with that Grant Application?

> the plan was mostly just that
> we would use the same cpu as would go in our other projects, however,
> because there isn't enough time, you mostly unilaterally decided that we
> should instead have a much simpler cpu (which I agree with)

because there is insufficient time to do otherwise: it is good that you
recognise and accept this.

> which means no branch prediction (which I disagree with)

this is purely pragmatic, and, once again, you are failing to acknowledge
the logic behind this decision, which is not a decision, it is a practical
pragmatic roadmap.

I DID NOT SAY THAT UNDER NO CIRCUMSTANCES will branch
prediction not be added

i said VERY SPECIFICALLY THAT IT SHOULD BE ADDED IF AND ONLY
IF THERE IS TIME.

why are you not listening to what i say?

> even if it's quite easy to integrate

jacob: because you have not been part of the team, you have zero
practical experience in working with others, and with the team.

you therefore have *no idea* what is or is not "easy to integrate".

in addition, the very fact that there has to be a discussion of
*how or whether* to integrate such code IS ITSELF TIME THAT
WE DO NOT HAVE.

it could take days, it could take weeks, and WE DO NOT KNOW.

therefore, a simple pure pragmatic decision, in order to meet the
deadline and fulfil the contract is, DO NOT PLACE THAT CODE
ON THE CRITICAL PATH.

please LISTEN to what i am telling you from EXPERIENCE.


> because I already wrote a fully operational branch predictor.

question: why did you spend time writing that code rather than
asking "what are the most urgent time-critical tasks that will
help us to fulfil our CONTRACTUAL obligations?"

> You
> then proceeded to reject all conversation about what cpu design would be
> best because it detracts from the plan you unilaterally came up with.

you are completely misreading the situation.

> Please don't reject cpu design conversation, remember this project is a
> community effort, not just you dictating top-down design decisions.

reality is, Jacob, that you left the team.  you left me to be the sole exclusive
developer making decisions.  i had to make those decisions, and they
are decisions that, for historical reasons, cannot be changed.

now you are coming back to the team, you need to accept the reality
that you are a Junior team member, with no working knowledge of the
code, and no experience in working on time-pressured team projects.

therefore, you need to respect that i, as the sole exclusive team member
with the practical knowledge and experience, and a full understanding
of the project, who made the Grant Application, who has got the
funding, who has been left to make the decisions, has in fact made
those decisions, and they are:

1) in practical pragmatic and historic terms, not up for discussion

2) even if they were, the timescales would (after several weeks of
   discussion which would be detrimental and counterproductive)
   leave us with the EXACT SAME DECISION

the amount of time that you are spending fighting this, and not
listening, over the past 6 months, has been considerable and
alarming.

i appreciate that you loved working on rust, and greatly enjoyed
the community there.  reality is:  nobody in the rust community is
under a CONTRACTUAL deadline to complete set tasks.  they're
not under pressure, they're "free basically to do what they want,
pretty much as they want it" in a "true" community project, basically
free from obligation and responsibility.

the situation and the "lessons" (observations) that you have learned
from that 18 month work on rust (instead of Libre-SOC HDL)
are therefore completely off.

now you're coming back to a time-pressured situation - one
that you aggravated and are directly responsible for by not helping
for 18 months - and you urgently need to accept that responsibility.

this is simply down to lack of experience when working under
time pressure, and i need you to accept it, knuckle down, focus,
and stop trying to fight practical pragmatic decisions that you
not only haven't the in-depth working knowledge *or* experience
to engage in, you actively excluded yourself from them, and need
to accept the reality and consequences of that decision.

on a *new* Libre-SOC project - not under time pressure - it
will be a different matter.  but for this one? you aggravated
the time by not helping when it was urgent, and so as a
Junior team member (a new contributor) you're not part of the
core decision-making team until you can demonstrate that
you can be trusted.

right now, you have a ONE HUNDRED percent track record
of not listening and not respecting the decisions that have to be
made.

are we clear on the realities now?

(note: you've now caused me to waste about 2 hours on discussing
this - again - adding to the aggravation and to the risk of not being
able to meet our contractual obligations - rather than helping.
i know you *can* write code extremely fast, but it's absolutely useless
if it's not what's *actually needed* in order to meet our contractual
obligations without jeapordising them).

l.



More information about the Libre-soc-dev mailing list