Skip to content

Commit

Permalink
block: remove 16 bytes of padding from struct request on 64bits
Browse files Browse the repository at this point in the history
Remove alignment padding to shrink struct request from 336 to 320 bytes
so needing one fewer cacheline and therefore removing 48 bytes from
struct request_queue.

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
  • Loading branch information
Richard Kennedy authored and Jens Axboe committed Mar 19, 2010
1 parent b4b7a4e commit 181fdde
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions include/linux/blkdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,17 +158,18 @@ enum rq_flag_bits {
struct request {
struct list_head queuelist;
struct call_single_data csd;
int cpu;

struct request_queue *q;

unsigned int cmd_flags;
enum rq_cmd_type_bits cmd_type;
unsigned long atomic_flags;

int cpu;

/* the following two fields are internal, NEVER access directly */
sector_t __sector; /* sector cursor */
unsigned int __data_len; /* total data len */
sector_t __sector; /* sector cursor */

struct bio *bio;
struct bio *biotail;
Expand Down Expand Up @@ -201,20 +202,20 @@ struct request {

unsigned short ioprio;

int ref_count;

void *special; /* opaque pointer available for LLD use */
char *buffer; /* kaddr of the current segment if available */

int tag;
int errors;

int ref_count;

/*
* when request is used as a packet command carrier
*/
unsigned short cmd_len;
unsigned char __cmd[BLK_MAX_CDB];
unsigned char *cmd;
unsigned short cmd_len;

unsigned int extra_len; /* length of alignment and padding */
unsigned int sense_len;
Expand Down

0 comments on commit 181fdde

Please sign in to comment.