[openib-general] FW: SDP problems with 64K page size
Roland Dreier
rolandd at cisco.com
Thu Sep 22 11:58:47 PDT 2005
Jerome,
You could try this braindead port of Libor's patch and see if it works
for you. I've not done anything beyond compile testing.
- R.
Index: linux-kernel/infiniband/ulp/sdp/sdp_buff.c
===================================================================
--- linux-kernel/infiniband/ulp/sdp/sdp_buff.c (revision 3522)
+++ linux-kernel/infiniband/ulp/sdp/sdp_buff.c (working copy)
@@ -330,7 +330,7 @@ static struct sdpc_buff *sdp_buff_pool_a
return NULL;
}
- buff->end = buff->head + PAGE_SIZE;
+ buff->end = buff->head + sdp_buff_pool_buff_size();
buff->data = buff->head;
buff->tail = buff->head;
buff->sge.lkey = 0;
@@ -350,7 +350,7 @@ int sdp_buff_pool_init(void)
int result;
main_pool.pool_cache = kmem_cache_create("sdp_buff_pool",
- PAGE_SIZE,
+ sdp_buff_pool_buff_size(),
0, 0,
NULL, NULL);
if (!main_pool.pool_cache) {
Index: linux-kernel/infiniband/ulp/sdp/sdp_buff.h
===================================================================
--- linux-kernel/infiniband/ulp/sdp/sdp_buff.h (revision 3522)
+++ linux-kernel/infiniband/ulp/sdp/sdp_buff.h (working copy)
@@ -101,6 +101,6 @@ struct sdpc_buff_root {
*/
#define sdp_buff_q_size(pool) ((pool)->size)
-#define sdp_buff_pool_buff_size() PAGE_SIZE
+#define sdp_buff_pool_buff_size() min(PAGE_SIZE, 16384)
#endif /* _SDP_BUFF_H */
More information about the general
mailing list