--- James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote: > On Sun, 2005-08-21 at 08:49 -0700, Luben Tuikov wrote: > > The caller is the aic94xx SAS LLDD. It uses IDR to generate unique > > task tag for each SCSI task being submitted. It is then used to lookup > > the task given the task tag, in effect using IDR as a fast lookup table. > > > > Yes, I'm also not aware of any other users of IDR from mixed process/IRQ > > context or for SCSI Task tag purposes. > > Just a minute, that's not what idr was designed for. It was really > designed for enumerations (like disk) presented to the user. That's why > using it in IRQ context hasn't been considered. Hi James, how are you? Is this the only use _you_ could find for a *radix tree*? ;-) Since of course sd.c uses it just as an enumeration, according to you this must be the only use? :-) It was designed as a general purpose id to pointer translation service, just as the comment in it says. > However, there is an infrastructure in the block layer called the > generic tag infrastructure which was designed precisely for this purpose > and which is designed to operate in IRQ context. James, I'm sure you're well aware that, - a request_queue is LU-bound, - a SCSI _transport_ (*ANY*) can _only_ address domain devices, but _not_ LUs. LUs are *not* seen on the domain. See the different associations? Then why are you posting such emails? Andrew, please apply this patch. Thanks, Luben - : 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