* [PATCH] mlx4/IB: Add set_4k_mtu module parameter.
@ 2010-01-12 12:09 Vladimir Sokolovsky
2010-01-12 17:05 ` Roland Dreier
0 siblings, 1 reply; 2+ messages in thread
From: Vladimir Sokolovsky @ 2010-01-12 12:09 UTC (permalink / raw)
To: rdreier-FYB4Gu1CFyUAvxtiuMwx3w; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
It control Infiniband link MTU for all IB ports in a host.
Signed-off-by: Vladimir Sokolovsky <vlad-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
---
drivers/net/mlx4/port.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/net/mlx4/port.c b/drivers/net/mlx4/port.c
index 606aa58..0e9d745 100644
--- a/drivers/net/mlx4/port.c
+++ b/drivers/net/mlx4/port.c
@@ -37,6 +37,10 @@
#include "mlx4.h"
+static int mlx4_ib_set_4k_mtu;
+module_param_named(set_4k_mtu, mlx4_ib_set_4k_mtu, int, 0444);
+MODULE_PARM_DESC(set_4k_mtu, "attempt to set 4K MTU to all ConnectX ports");
+
#define MLX4_MAC_VALID (1ull << 63)
#define MLX4_MAC_MASK 0xffffffffffffULL
@@ -308,6 +312,12 @@ int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port)
memset(mailbox->buf, 0, 256);
+ if (mlx4_ib_set_4k_mtu)
+ ((__be32 *) mailbox->buf)[0] |= cpu_to_be32((1 << 22) |
+ (1 << 21) |
+ (5 << 12) |
+ (2 << 4));
+
((__be32 *) mailbox->buf)[1] = dev->caps.ib_port_def_cap[port];
err = mlx4_cmd(dev, mailbox->dma, port, 0, MLX4_CMD_SET_PORT,
MLX4_CMD_TIME_CLASS_B);
--
1.5.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mlx4/IB: Add set_4k_mtu module parameter.
2010-01-12 12:09 [PATCH] mlx4/IB: Add set_4k_mtu module parameter Vladimir Sokolovsky
@ 2010-01-12 17:05 ` Roland Dreier
0 siblings, 0 replies; 2+ messages in thread
From: Roland Dreier @ 2010-01-12 17:05 UTC (permalink / raw)
To: vlad-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
I'm not thrilled about this patch.
> +module_param_named(set_4k_mtu, mlx4_ib_set_4k_mtu, int, 0444);
> +MODULE_PARM_DESC(set_4k_mtu, "attempt to set 4K MTU to all ConnectX ports");
What does "attempt to set 4K MTU" mean? Try to set the MTU cap to 4K?
What happens if it fails? Is there any reason not to just let the MTU
cap be 4K all time?
Having this be a module parameter really seems like a bad idea for the
future....
> + if (mlx4_ib_set_4k_mtu)
> + ((__be32 *) mailbox->buf)[0] |= cpu_to_be32((1 << 22) |
> + (1 << 21) |
> + (5 << 12) |
> + (2 << 4));
Is there any way for this to write this with fewer unexplained magic numbers?
- R.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-01-12 17:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-12 12:09 [PATCH] mlx4/IB: Add set_4k_mtu module parameter Vladimir Sokolovsky
2010-01-12 17:05 ` Roland Dreier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox