GPUs have gotten more and more complex every 6 months for about 8
years now. A current radeonhd 4000 series bears little resemblence
to the radeon r100 that was out then. The newer GPUs require a full
complier to be written for an instruction set more complex than x86
in some places. The newer GPUs get more and more varied
modesetting combos that all require supporting.
Now I'd would guess (educated slightly) that the amount of code
required to write a full driver stack for a modern GPU has probably
gone up 40-50x what used to be required, whereas the number of open
source community developers has probably doubled since 2001. Also
newer GPU designs have forced us to redesign the Linux GPU
architecture, this had to happen in parallel with all the other
stuff, again with similiar number of developers. So yes it sucks
but it should point out why there is no reason why 3D should really
be working on all cards.
-- Dave Airlie
The best way to make everything "just work" is to eliminate it.
-- Jon Smirl
I agree that having only one of SLAB/SLUB/SLQB would be nice, but
it's going to take a lot of heavy lifting in the form of hacking
and benchmarking to have confidence that there's a clear
performance winner. Given the multiple dimensions of performance
(scalability/throughput/latency for starters), I don't even think
there's good a priori reason to believe that a clear winner CAN
exist. SLUB may always have better latency, and SLQB may always
have better throughput. If you're NYSE, you might have different
performance priorities than if you're Google or CERN or Sony that
amount to millions of dollars. Repeatedly saying "but we should
have only one allocator" isn't going to change that.
-- Matt Mackall
to post comments)