Posted Dec 1, 2011 9:52 UTC (Thu) by dgm (subscriber, #49227)
Parent article: Hardware face detection
> But there will be more and more devices that offload some type of processing, and that is going to present some interesting ABI challenges.
As always, a very accurate analysis, John.
It's also something that has been at the back of my head for some time now. All those processing services share many traits with plain software libraries. Maybe they should be abstracted that way, behind a layer of user-mode library code. And maybe in this case, Linus should consider to lower the standard of never breaking ABI compatibility. At least until an stable standard emerges.
Posted Dec 1, 2011 15:41 UTC (Thu) by michaeljt (subscriber, #39183)
[Link]
> It's also something that has been at the back of my head for some time now. All those processing services share many traits with plain software libraries. Maybe they should be abstracted that way, behind a layer of user-mode library code. And maybe in this case, Linus should consider to lower the standard of never breaking ABI compatibility. At least until an stable standard emerges.
Or perhaps the way to go would to be a versioned ABI. You create version 1 which supports the needs of currently known devices along with needs that near-future devices are likely to have, you expand it (1.1) as additional needs emerge and you add an incompatible version 2 (without dropping version 1) when a generation of devices emerges that are too different to comfortably fit version 1. User space then has a limited number of clearly defined ABIs to support while the kernel developers can concentrate on real usage cases without having to create a needlessly flexible/complex ABI.