[openib-general] FW: SDP problems with 64K page size
Jerome Pioux
jerome.pioux at bull.com
Fri Sep 23 08:28:36 PDT 2005
Roland,
This patch seems to work pretty good in GEN2. I can now run app. over
GEN2/SDP on 64k page size (using 3.3.3rc7 firmware) - Thank you !
I have however some concerns about performance (I am using a multithreaded
application if this matter).
Don't know why yet but the throughput is almost half of what it is supposed
to be (345MB/s) when the openib is in receiving mode?... will investigate
more and let you know ...
Jerome
----- Original Message -----
From: "Roland Dreier" <rolandd at cisco.com>
To: "Jerome Pioux" <jerome.pioux at bull.com>; <mst at mellanox.co.il>;
<openib-general at openib.org>
Sent: Thursday, September 22, 2005 11:58 AM
Subject: Re: [openib-general] FW: SDP problems with 64K page size
> 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