From 82ede8b78876371a4e0e7ad2780d3bf4ced47b54 Mon Sep 17 00:00:00 2001 From: liangzhen Date: Fri, 7 Nov 2008 15:04:06 +0000 Subject: [PATCH] Branch b1_8_gate Support zero-copy receive of Chelsio driver b=15093 i=Isaac i=Maxim --- lnet/klnds/socklnd/socklnd.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lnet/klnds/socklnd/socklnd.h b/lnet/klnds/socklnd/socklnd.h index 70253ba..cea8b4d 100644 --- a/lnet/klnds/socklnd/socklnd.h +++ b/lnet/klnds/socklnd/socklnd.h @@ -74,6 +74,13 @@ typedef struct /* per scheduler state */ struct list_head kss_zombie_noop_txs; /* zombie noop tx list */ cfs_waitq_t kss_waitq; /* where scheduler sleeps */ int kss_nconns; /* # connections assigned to this scheduler */ +#if !SOCKNAL_SINGLE_FRAG_RX + struct page *kss_rx_scratch_pgs[LNET_MAX_IOV]; +#endif +#if !SOCKNAL_SINGLE_FRAG_TX || !SOCKNAL_SINGLE_FRAG_RX + struct iovec kss_scratch_iov[LNET_MAX_IOV]; +#endif + } ksock_sched_t; typedef struct @@ -112,6 +119,8 @@ typedef struct int *ksnd_enable_csum; /* enable check sum */ int *ksnd_inject_csum_error; /* set non-zero to inject checksum error */ unsigned int *ksnd_zc_min_frag; /* minimum zero copy frag size */ + int *ksnd_zc_recv; /* enable ZC receive (for Chelsio TOE) */ + int *ksnd_zc_recv_min_nfrags; /* minimum # of fragments to enable ZC receive */ #ifdef CPU_AFFINITY int *ksnd_irq_affinity; /* enable IRQ affinity? */ #endif @@ -293,13 +302,6 @@ typedef struct ksock_conn atomic_t ksnc_tx_nob; /* # bytes queued */ int ksnc_tx_ready; /* write space */ int ksnc_tx_scheduled; /* being progressed */ - -#if !SOCKNAL_SINGLE_FRAG_RX - struct iovec ksnc_rx_scratch_iov[LNET_MAX_IOV]; -#endif -#if !SOCKNAL_SINGLE_FRAG_TX - struct iovec ksnc_tx_scratch_iov[LNET_MAX_IOV]; -#endif } ksock_conn_t; typedef struct ksock_route -- 1.8.3.1