Andi Kleen wrote:
"Leonid Grossman" <leonid.grossman@xxxxxxxxxxxx> writes:
Do you have other objections to the submission? We'd like to see if these
could be addressed; going forward we see significant benefits both for
S2io/Neterion (and our customers) and for community to use this driver.
I guess the main objection to the HAL comes not from performance
issues (Usually the only thing that really counts for performance
is data cache misses and the HAL is unlikely to affect this much), but
the coding style etc.. Indeed it does not look too Linux like.
Well, not coding style, but code analysis and maintenance issues.
HALs are generally type-opaque, breaking checker-style tools and sparse
"it looks like Linux code" has implications on bug finding and fixing,
and long term maintenance of the code. You want to make it easy for
someone to make the same change across N net drivers.
Because most ->hard_start_xmit() hooks were written in a similar
fashion, it was easy and quick to deploy fixes for the skb_padto()
security bug across many net drivers.
A lot of tiny costs that mostly wind up as noise: additional branching
My biggest objection is that HALs increase the overall "cost" of
maintaining a piece of code, and serve as a barrier against outside
(non-primary-author) kernel hacker involvement.
Remember, this driver is going to be with us for -10- years or more.