aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_def.h
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2009-08-18 09:43:15 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-09-05 09:49:20 -0400
commita4623c467ff76f9258555d44d68371e10c5406c2 (patch)
treee310a629eb7fbd4da4d9ab05049af16176b2b551 /drivers/s390/scsi/zfcp_def.h
parent058b8647892ed49ba6a0d2c0966a72e20e2e69ff (diff)
[SCSI] zfcp: Improve request allocation through mempools
Remove the special case for NO_QTCB requests and optimize the mempool and cache processing for fsfreqs. Especially use seperate mempools for the zfcp_fsf_req and zfcp_qtcb structs. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_def.h')
-rw-r--r--drivers/s390/scsi/zfcp_def.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index 944f67754ee..1e27ed5d90e 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -264,12 +264,13 @@ struct zfcp_fsf_req;
264 264
265/* holds various memory pools of an adapter */ 265/* holds various memory pools of an adapter */
266struct zfcp_adapter_mempool { 266struct zfcp_adapter_mempool {
267 mempool_t *fsf_req_erp; 267 mempool_t *erp_req;
268 mempool_t *fsf_req_scsi; 268 mempool_t *scsi_req;
269 mempool_t *fsf_req_abort; 269 mempool_t *scsi_abort;
270 mempool_t *fsf_req_status_read; 270 mempool_t *status_read_req;
271 mempool_t *data_status_read; 271 mempool_t *status_read_data;
272 mempool_t *data_gid_pn; 272 mempool_t *gid_pn_data;
273 mempool_t *qtcb_pool;
273}; 274};
274 275
275/* 276/*
@@ -303,6 +304,15 @@ struct ct_iu_gid_pn_resp {
303 u32 d_id; 304 u32 d_id;
304} __attribute__ ((packed)); 305} __attribute__ ((packed));
305 306
307struct ct_iu_gpn_ft_req {
308 struct ct_hdr header;
309 u8 flags;
310 u8 domain_id_scope;
311 u8 area_id_scope;
312 u8 fc4_type;
313} __attribute__ ((packed));
314
315
306/** 316/**
307 * struct zfcp_send_ct - used to pass parameters to function zfcp_fsf_send_ct 317 * struct zfcp_send_ct - used to pass parameters to function zfcp_fsf_send_ct
308 * @wka_port: port where the request is sent to 318 * @wka_port: port where the request is sent to
@@ -559,18 +569,13 @@ struct zfcp_data {
559 lists */ 569 lists */
560 struct semaphore config_sema; /* serialises configuration 570 struct semaphore config_sema; /* serialises configuration
561 changes */ 571 changes */
562 struct kmem_cache *fsf_req_qtcb_cache; 572 struct kmem_cache *gpn_ft_cache;
573 struct kmem_cache *qtcb_cache;
563 struct kmem_cache *sr_buffer_cache; 574 struct kmem_cache *sr_buffer_cache;
564 struct kmem_cache *gid_pn_cache; 575 struct kmem_cache *gid_pn_cache;
565 struct workqueue_struct *work_queue; 576 struct workqueue_struct *work_queue;
566}; 577};
567 578
568/* struct used by memory pools for fsf_requests */
569struct zfcp_fsf_req_qtcb {
570 struct zfcp_fsf_req fsf_req;
571 struct fsf_qtcb qtcb;
572};
573
574/********************** ZFCP SPECIFIC DEFINES ********************************/ 579/********************** ZFCP SPECIFIC DEFINES ********************************/
575 580
576#define ZFCP_SET 0x00000100 581#define ZFCP_SET 0x00000100