Thread (8 messages) read the whole thread 8 messages, 4 authors, 2017-09-15

Re: [PATCH] net/mlx5: fix calculating TSO inline size

From: Nélio Laranjeiro <hidden>
Date: 2017-09-13 07:26:30

On Wed, Sep 13, 2017 at 05:05:14AM +0000, Shahaf Shuler wrote:
Tuesday, September 12, 2017 9:34 PM, Nélio Laranjeiro:
quoted
quoted
On Sep 12, 2017, at 12:24 AM, Nélio Laranjeiro
quoted
quoted
Is not it dangerous to assume inl will always be 4 bytes long?  Why
not writing the real value instead?
That was for readability of the code and uint32_t will be always
4bytes. But for better readability, it should be 'inline_header'
instead of 'inl' though. I'm also okay with using "4" as well. Which way do
you prefer?
quoted
I agree on both, I was not clear enough to explain my thought, if for
some reason the inl moves from uint32_t to uint16_t without touching
the sizeof later, it will cause an issue.
I tried to change the sizeof but I found that there are more "sizeof(inl)" in the
following lines. Changing all the sizeof would be beyond the scope of this
patch. So, how about leaving it as is for consistency?
The inline segment format is not expected to change so easily. It is parsed
by the HW and HW maintains backward compatibility for all of the WQE
structures. 
We are not talking here about the hardware behavior but about wrong ways to
define hardware values which should be used trough define and not by size of
variable which can be wrongly modified.
If the hardware inline_header size of 4, it should be defined as is.

I won't block this patch as it is not the single place where this sizeof is
used, but it should be replaced as soon as possible by a define to avoid wrong
behaviors in the future.

Acked-by: Nelio Laranjeiro <redacted>

-- 
Nélio Laranjeiro
6WIND
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help