OSDN Git Service

scsi: zfcp: drop duplicate seq_no from zfcp_fsf_req which is also in QTCB header
authorSteffen Maier <maier@linux.ibm.com>
Thu, 8 Nov 2018 14:44:46 +0000 (15:44 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Nov 2018 20:01:17 +0000 (15:01 -0500)
commit9704154fa0b20fe76e7a46c902adce88da1a75d6
tree1a5a25cdde530bdb3dc29d7c3a511feab2993201
parentf9eca022760079c0556cb311e3aa9091a3921a31
scsi: zfcp: drop duplicate seq_no from zfcp_fsf_req which is also in QTCB header

There is no point for double bookkeeping especially just for tracing.  The
trace can take it from the QTCB which always exists for non-SRB responses
traced with zfcp_dbf_hba_fsf_res().

As a side effect, this removes an alignment hole and reduces the size of
struct zfcp_fsf_req, and thus of each pending request, by 8 bytes.

Before:
$ pahole -C zfcp_fsf_req drivers/s390/scsi/zfcp.ko
...
struct fsf_qtcb *          qtcb;                 /*   144     8 */
u32                        seq_no;               /*   152     4 */
/* XXX 4 bytes hole, try to pack */
void *                     data;                 /*   160     8 */
...
/* size: 296, cachelines: 2, members: 14 */
/* sum members: 288, holes: 2, sum holes: 8 */
/* last cacheline: 40 bytes */
After:
$ pahole -C zfcp_fsf_req drivers/s390/scsi/zfcp.ko
...
struct fsf_qtcb *          qtcb;                 /*   144     8 */
void *                     data;                 /*   152     8 */
...
/* size: 288, cachelines: 2, members: 13 */
        /* sum members: 284, holes: 1, sum holes: 4 */

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/s390/scsi/zfcp_dbf.c
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_fsf.c