You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[PATCH] cciss: direct lookup for command completions
This patch changes the way we complete commands. In the old method when we got a completion we searched our command list from the top until we find it. This method uses a tag associated with each command (not SCSI command tagging) to index us directly to the completed command. This helps performance. Signed-off-by: Don Brace <dab@hp.com> Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
ddd474420a
commit
33079b2197
@@ -226,6 +226,10 @@ typedef struct _ErrorInfo_struct {
|
||||
#define CMD_MSG_DONE 0x04
|
||||
#define CMD_MSG_TIMEOUT 0x05
|
||||
|
||||
/* This structure needs to be divisible by 8 for new
|
||||
* indexing method.
|
||||
*/
|
||||
#define PADSIZE (sizeof(long) - 4)
|
||||
typedef struct _CommandList_struct {
|
||||
CommandListHeader_struct Header;
|
||||
RequestBlock_struct Request;
|
||||
@@ -236,14 +240,14 @@ typedef struct _CommandList_struct {
|
||||
ErrorInfo_struct * err_info; /* pointer to the allocated mem */
|
||||
int ctlr;
|
||||
int cmd_type;
|
||||
long cmdindex;
|
||||
struct _CommandList_struct *prev;
|
||||
struct _CommandList_struct *next;
|
||||
struct request * rq;
|
||||
struct completion *waiting;
|
||||
int retry_count;
|
||||
#ifdef CONFIG_CISS_SCSI_TAPE
|
||||
void * scsi_cmd;
|
||||
#endif
|
||||
char pad[PADSIZE];
|
||||
} CommandList_struct;
|
||||
|
||||
//Configuration Table Structure
|
||||
|
||||
Reference in New Issue
Block a user