On Tue, Apr 05, 2011 at 05:47:14PM -0400, Matthew Wilcox wrote: > > In a high-IOPS workload, mpt2sas_base_get_smid_scsiio shows up in the top > 20 cache misses. This is because the data structure used for allocating > SMIDs is cache unfriendly; freed SMIDs are placed on the tail of the list, > guaranteeing a cache miss by the time we allocate it again. > > By placing the freed SMID at the head of the list, we increase the > likelihood of it being cache-hot when it's used again. Looks good for now. But given that the smids are a statically allocated ressource it might be a good idea to get rid of all the rather cache unfriendly linked lists and locking and use a bitmap to allocate smids and then just index into a linear array of them. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html