Hello, On Tue, Jul 30, 2013 at 09:16:02PM -0700, Marc C wrote: > >> One thing which would probably be worthwhile tho is getting rid of the > >> bitmap based qc tag allocator in libata. That one is just borderline > >> stupid to keep around on any setup which is supposed to be scalable. > > Your border might be wider than mine :-). Yes, the bitmap should > > definitely go. > > A naive implementation is obviously less-than-efficient. However, what > other problems exist with the libata QC tag allocator? I highly doubt > SATA will change to beyond 32 queue tags, primarily because it would > be a pain to change SDB FIS (it's likely to break the dozens of AHCI > controller implementations out there). Further, it seems like the > industry stopped caring about SATA and is pushing NVMe for future > offerings. > > In any event, most modern systems should have instructions to count > leading zeroes and modify bits atomically.
It's inefficient not because scanning is expensive but because it makes all CPUs in the system to hit on the exact same cacheline over and over and over again. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/