Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61d38832 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

s390/dasd: reshuffle struct dasd_ccw_req



Move some members of struct dasd_ccw_req to get rid of padding
bytes. This saves 16 bytes per dasd request.

Signed-off-by: default avatarSebastian Ott <sebott@linux.ibm.com>
Reviewed-by: default avatarStefan Haberland <sth@linux.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent d8a72d41
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -158,41 +158,33 @@ do { \

struct dasd_ccw_req {
	unsigned int magic;		/* Eye catcher */
	int intrc;			/* internal error, e.g. from start_IO */
	struct list_head devlist;	/* for dasd_device request queue */
	struct list_head blocklist;	/* for dasd_block request queue */

	/* Where to execute what... */
	struct dasd_block *block;	/* the originating block device */
	struct dasd_device *memdev;	/* the device used to allocate this */
	struct dasd_device *startdev;	/* device the request is started on */
	struct dasd_device *basedev;	/* base device if no block->base */
	void *cpaddr;			/* address of ccw or tcw */
	short retries;			/* A retry counter */
	unsigned char cpmode;		/* 0 = cmd mode, 1 = itcw */
	char status;			/* status of this request */
	short retries;			/* A retry counter */
	char lpm;			/* logical path mask */
	unsigned long flags;        	/* flags of this request */
	struct dasd_queue *dq;

	/* ... and how */
	unsigned long starttime;	/* jiffies time of request start */
	unsigned long expires;		/* expiration period in jiffies */
	char lpm;			/* logical path mask */
	void *data;			/* pointer to data area */

	/* these are important for recovering erroneous requests          */
	int intrc;			/* internal error, e.g. from start_IO */
	struct irb irb;			/* device status in case of an error */
	struct dasd_ccw_req *refers;	/* ERP-chain queueing. */
	void *function; 		/* originating ERP action */
	void *mem_chunk;

	/* these are for statistics only */
	unsigned long buildclk;		/* TOD-clock of request generation */
	unsigned long startclk;		/* TOD-clock of request start */
	unsigned long stopclk;		/* TOD-clock of request interrupt */
	unsigned long endclk;		/* TOD-clock of request termination */

        /* Callback that is called after reaching final status. */
	void (*callback)(struct dasd_ccw_req *, void *data);
	void *callback_data;
};