Thread (36 messages) 36 messages, 4 authors, 2023-04-03

Re: [PATCH 6/7] dsa: marvell: Correct value of max_frame_size variable after validation

From: Lukasz Majewski <lukma@denx.de>
Date: 2023-03-10 09:48:44
Also in: lkml

Hi Russell,
On Thu, Mar 09, 2023 at 03:43:50PM +0100, Lukasz Majewski wrote:
quoted
Hi Russell,

Please correct my understanding - I do see two approaches here:

A. In patch 1 I do set the max_frame_size values (deduced). Then I
add validation function (patch 2). This function shows "BUG:...."
only when we do have a mismatch. In patch 3 I do correct the
max_frame_size values (according to validation function) and remove
the validation function. This is how it is done in v5 and is going
to be done in v6.  
I don't see much point in adding the validation, then correcting the
values that were added in patch 1 that were identified by patch 2 in
patch 3 - because that means patch 1's deduction was incorrect in
some way.
Yes. I do agree.
If there is any correction to be done, then it should be:

patch 1 - add the max_frame_size values
patch 2 - add validation (which should not produce any errors)
patch 3 - convert to use max_frame_size, and remove validation,
stating that the validation had no errors
patch 4 (if necessary) - corrections to max_frame_size values if they
  are actually incorrect (in other words, they were buggy before patch
  1.)
patch 5 onwards - the rest of the series.
Ok. I will restructure patches to follow above scheme.
quoted
B. Having showed the v5 in public, the validation function is known.
Then I do prepare v6 with only patch 1 having correct values (from
the outset) and provide in the commit message the code for
validation function. Then patch 2 and 3 (validation function and
the corrected values of max_frame_size) can be omitted in v6.

For me it would be better to choose approach B.  
I would suggest that is acceptable for the final round of patches, but
I'm wary about saying "yes" to it because... what if something changes
in that table between the time you've validated it, and when it
eventually gets accepted.
The "peace" of changes for this code is rather slow, so the risk is
minimal.

Moreover, next ICs added would _require_ to have the max_frame_size
field set (the WARN_ON() clause).
Keeping the validation code means that
during the review of the series, and subsequent updates onto net-next
(which should of course include re-running the validation code) we
can be more certain that nothing has changed that would impact it.

What I worry about is if something changes, the patch adding the
values mis-patches (e.g. due to other changes - much of the context
for each hunk is quite similar) then we will have quite a problem to
sort it out.
Ok. I hope that we will avoid this threat.


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de

Attachments

  • (unnamed) [application/pgp-signature] 488 bytes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help