[PATCH 33/55] infiniband: irq: Remove IRQF_DISABLED
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang yong.zha...@gmail.com --- drivers/infiniband/hw/ehca/ehca_eq.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_eq.c b/drivers/infiniband/hw/ehca/ehca_eq.c index d9b1bb4..818d721 100644 --- a/drivers/infiniband/hw/ehca/ehca_eq.c +++ b/drivers/infiniband/hw/ehca/ehca_eq.c @@ -125,7 +125,7 @@ int ehca_create_eq(struct ehca_shca *shca, tasklet_init(eq-interrupt_task, ehca_tasklet_eq, (long)shca); ret = ibmebus_request_irq(eq-ist, ehca_interrupt_eq, - IRQF_DISABLED, ehca_eq, + 0, ehca_eq, (void *)shca); if (ret 0) ehca_err(ib_dev, Can't map interrupt handler.); @@ -133,7 +133,7 @@ int ehca_create_eq(struct ehca_shca *shca, tasklet_init(eq-interrupt_task, ehca_tasklet_neq, (long)shca); ret = ibmebus_request_irq(eq-ist, ehca_interrupt_neq, - IRQF_DISABLED, ehca_neq, + 0, ehca_neq, (void *)shca); if (ret 0) ehca_err(ib_dev, Can't map interrupt handler.); -- 1.7.4.1 -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 33/55] infiniband: irq: Remove IRQF_DISABLED
Is someone taking this whole series, or should I take the ehca part? (I know the ehca guys already acked this) - R. -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] opensm/osmtest/osmt_multicast.c: Fix an unrealistic rate case
56 Gbps is really faster than 60 Gbps due to the link encoding difference so use 56 Gbps rather than 60 Gbps here 300 Gbps rather than 120 Gbps is now the max rate Signed-off-by: Hal Rosenstock h...@mellanox.com --- diff --git a/osmtest/osmt_multicast.c b/osmtest/osmt_multicast.c index 1054d49..46ed93b 100644 --- a/osmtest/osmt_multicast.c +++ b/osmtest/osmt_multicast.c @@ -894,13 +894,13 @@ ib_api_status_t osmt_run_mcast_flow(IN osmtest_t * const p_osmt) } /* o15.0.1.8: */ - /* - Request join with irrelevant RATE : get a ERR_INSUFFICIENT_COMPONENTS */ + /* - Request join with unrealistic RATE : get REQ INVALID status */ OSM_LOG(p_osmt-log, OSM_LOG_INFO, Checking Join with unrealistic rate (o15.0.1.8)...\n); /* impossible requested rate */ mc_req_rec.rate = - IB_PATH_RECORD_RATE_60_GBS | IB_PATH_SELECTOR_GREATER_THAN 6; + IB_PATH_RECORD_RATE_56_GBS | IB_PATH_SELECTOR_GREATER_THAN 6; comp_mask = IB_MCR_COMPMASK_GID | IB_MCR_COMPMASK_PORT_GID | IB_MCR_COMPMASK_QKEY | IB_MCR_COMPMASK_PKEY | IB_MCR_COMPMASK_SL | IB_MCR_COMPMASK_FLOW | IB_MCR_COMPMASK_JOIN_STATE | IB_MCR_COMPMASK_TCLASS | /* all above are required */ IB_MCR_COMPMASK_RATE_SEL | IB_MCR_COMPMASK_RATE; @@ -922,11 +922,11 @@ ib_api_status_t osmt_run_mcast_flow(IN osmtest_t * const p_osmt) /* Check Valid value which is unreasonable now */ OSM_LOG(p_osmt-log, OSM_LOG_INFO, - Checking Join with unrealistic rate 120GB (o15.0.1.8)...\n); + Checking Join with unrealistic rate 300GB (o15.0.1.8)...\n); /* impossible requested rate */ mc_req_rec.rate = - IB_PATH_RECORD_RATE_120_GBS | IB_PATH_SELECTOR_GREATER_THAN 6; + IB_PATH_RECORD_RATE_300_GBS | IB_PATH_SELECTOR_GREATER_THAN 6; comp_mask = IB_MCR_COMPMASK_GID | IB_MCR_COMPMASK_PORT_GID | IB_MCR_COMPMASK_QKEY | IB_MCR_COMPMASK_PKEY | IB_MCR_COMPMASK_SL | IB_MCR_COMPMASK_FLOW | IB_MCR_COMPMASK_JOIN_STATE | IB_MCR_COMPMASK_TCLASS | /* all above are required */ IB_MCR_COMPMASK_RATE_SEL | IB_MCR_COMPMASK_RATE; -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ib-diags: Add cast to fix build on windows
Signed-off-by: Sean Hefty sean.he...@intel.com --- libibnetdisc/src/ibnetdisc.c |2 +- src/ibportstate.c|4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 = 100755 libibnetdisc/src/ibnetdisc.c mode change 100644 = 100755 src/ibportstate.c diff --git a/libibnetdisc/src/ibnetdisc.c b/libibnetdisc/src/ibnetdisc.c index 86210eb..c93e7ad --- a/libibnetdisc/src/ibnetdisc.c +++ b/libibnetdisc/src/ibnetdisc.c @@ -201,7 +201,7 @@ static void debug_port(ib_portid_t * portid, ibnd_port_t * port) static int is_mlnx_ext_port_info_supported(ibnd_port_t * port) { - uint16_t devid = mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); + uint16_t devid = (uint16_t) mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); if (devid == 0xc738) return 1; diff --git a/src/ibportstate.c b/src/ibportstate.c index 81d5b58..daa8514 --- a/src/ibportstate.c +++ b/src/ibportstate.c @@ -462,7 +462,7 @@ int main(int argc, char **argv) port_op = QUERY; is_switch = get_node_info(portid, data); - devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); if (port_op != QUERY || changed) printf(Initial %s PortInfo:\n, is_switch ? Switch : CA); @@ -591,7 +591,7 @@ int main(int argc, char **argv) /* Get peer port NodeInfo to obtain peer port number */ is_peer_switch = get_node_info(peerportid, data); - rem_devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + rem_devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); mad_decode_field(data, IB_NODE_LOCAL_PORT_F, peerlocalportnum); -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ib-diags: Add cast to fix build on windows
On Thu, Sep 22, 2011 at 8:29 PM, Hefty, Sean sean.he...@intel.com wrote: Signed-off-by: Sean Hefty sean.he...@intel.com --- libibnetdisc/src/ibnetdisc.c | 2 +- src/ibportstate.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 = 100755 libibnetdisc/src/ibnetdisc.c mode change 100644 = 100755 src/ibportstate.c A minor nit: is this mode change really necessary ? (I know Visual Studio does enable the execute bit without asking.) diff --git a/libibnetdisc/src/ibnetdisc.c b/libibnetdisc/src/ibnetdisc.c index 86210eb..c93e7ad --- a/libibnetdisc/src/ibnetdisc.c +++ b/libibnetdisc/src/ibnetdisc.c @@ -201,7 +201,7 @@ static void debug_port(ib_portid_t * portid, ibnd_port_t * port) static int is_mlnx_ext_port_info_supported(ibnd_port_t * port) { - uint16_t devid = mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); + uint16_t devid = (uint16_t) mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); Has it been considered to disable the MSVC warnings about possible truncation instead of inserting a cast ? MSVC generates such warnings while gcc does not. Bart. -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ib-diags: Add cast to fix build on windows
On 9/22/2011 2:36 PM, Bart Van Assche wrote: libibnetdisc/src/ibnetdisc.c |2 +- src/ibportstate.c|4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 = 100755 libibnetdisc/src/ibnetdisc.c mode change 100644 = 100755 src/ibportstate.c A minor nit: is this mode change really necessary ? (I know Visual Studio does enable the execute bit without asking.) It shouldn't add +w to the permissions of those files in linux. -- Hal -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] ib-diags: Add cast to fix build on windows
libibnetdisc/src/ibnetdisc.c | 2 +- src/ibportstate.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 = 100755 libibnetdisc/src/ibnetdisc.c mode change 100644 = 100755 src/ibportstate.c A minor nit: is this mode change really necessary ? (I know Visual Studio does enable the execute bit without asking.) No - these mode changes should not be there. I removed them further down in the patch, but missed it here. I modified the files using Eclipse from a Windows system. Maybe there's some setting that I missed. Ira, please let me know if you want me to generate a new patch. Has it been considered to disable the MSVC warnings about possible truncation instead of inserting a cast ? MSVC generates such warnings while gcc does not. The entire windows tree is built using the WinDDK compiler. I haven't found a way to disable that warning that works. Since the warning is real, an explicit cast at least lets someone reading the code know that the author took truncation into account. - Sean -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v2] ib-diags: Add cast to fix build on windows
Signed-off-by: Sean Hefty sean.he...@intel.com --- changes from v1: reset mode back to 644 libibnetdisc/src/ibnetdisc.c |2 +- src/ibportstate.c|4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libibnetdisc/src/ibnetdisc.c b/libibnetdisc/src/ibnetdisc.c index 86210eb..c93e7ad 100644 --- a/libibnetdisc/src/ibnetdisc.c +++ b/libibnetdisc/src/ibnetdisc.c @@ -201,7 +201,7 @@ static void debug_port(ib_portid_t * portid, ibnd_port_t * port) static int is_mlnx_ext_port_info_supported(ibnd_port_t * port) { - uint16_t devid = mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); + uint16_t devid = (uint16_t) mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); if (devid == 0xc738) return 1; diff --git a/src/ibportstate.c b/src/ibportstate.c index 81d5b58..daa8514 100644 --- a/src/ibportstate.c +++ b/src/ibportstate.c @@ -462,7 +462,7 @@ int main(int argc, char **argv) port_op = QUERY; is_switch = get_node_info(portid, data); - devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); if (port_op != QUERY || changed) printf(Initial %s PortInfo:\n, is_switch ? Switch : CA); @@ -591,7 +591,7 @@ int main(int argc, char **argv) /* Get peer port NodeInfo to obtain peer port number */ is_peer_switch = get_node_info(peerportid, data); - rem_devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + rem_devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); mad_decode_field(data, IB_NODE_LOCAL_PORT_F, peerlocalportnum); -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ib-diags: Add cast to fix build on windows
On Thu, Sep 22, 2011 at 08:20:54PM +, Hefty, Sean wrote: The entire windows tree is built using the WinDDK compiler. I haven't found a way to disable that warning that works. Since the warning is real, an explicit cast at least lets someone reading the code know that the author took truncation into account. It would be much better to fix this at the source. mad_get_field16(..,IB_NODE_DEVID_F) Then at least there is the option of doing a static or runtime check that IB_NODE_DEVID_F is actually referring to a 16 bit field. For instance, a static check might be possible with some compilers by doing: enum MAD_FIELDS8 { IB_PORT_LOCAL_PORT_F }; enum MAD_FIELDS16 { IB_NODE_DEVID_F }; uint8_t mad_get_field8(void *buf, int base_offs, enum MAD_FIELDS8 field); uint16_t mad_get_field16(void *buf, int base_offs, enum MAD_FIELDS16 field); A compiler can produce a warning about mismatching enums. Someone can fixup the enums later, but I'd much rather see you add a patch with this hunk: static inline uint16_t mad_get_field16(void *buf, int base_offs, enum MAD_FIELDS field) { return (uint16_t)mad_get_field(buf,base_offs,field); } And another patch replacing every (uint16_t)mad_get_field with mad_get_field16 Adding a cast is just pointless noise, doesn't fix or prove anything. Jason -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] ib-diags: Add cast to fix build on windows
Adding a cast is just pointless noise, doesn't fix or prove anything. It fixes the build on windows. You can call that pointless, but I do not. -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ib-diags: Add cast to fix build on windows
On Thu, Sep 22, 2011 at 09:33:24PM +, Hefty, Sean wrote: Adding a cast is just pointless noise, doesn't fix or prove anything. It fixes the build on windows. You can call that pointless, but I do not. It supresses a warning, warnings are not build failures. Jason -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2] ib-diags: Add cast to fix build on windows
On Thu, 22 Sep 2011 13:37:23 -0700 Hefty, Sean sean.he...@intel.com wrote: Signed-off-by: Sean Hefty sean.he...@intel.com Thanks applied. Ira --- changes from v1: reset mode back to 644 libibnetdisc/src/ibnetdisc.c |2 +- src/ibportstate.c|4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libibnetdisc/src/ibnetdisc.c b/libibnetdisc/src/ibnetdisc.c index 86210eb..c93e7ad 100644 --- a/libibnetdisc/src/ibnetdisc.c +++ b/libibnetdisc/src/ibnetdisc.c @@ -201,7 +201,7 @@ static void debug_port(ib_portid_t * portid, ibnd_port_t * port) static int is_mlnx_ext_port_info_supported(ibnd_port_t * port) { - uint16_t devid = mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); + uint16_t devid = (uint16_t) mad_get_field(port-node-info, 0, IB_NODE_DEVID_F); if (devid == 0xc738) return 1; diff --git a/src/ibportstate.c b/src/ibportstate.c index 81d5b58..daa8514 100644 --- a/src/ibportstate.c +++ b/src/ibportstate.c @@ -462,7 +462,7 @@ int main(int argc, char **argv) port_op = QUERY; is_switch = get_node_info(portid, data); - devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); if (port_op != QUERY || changed) printf(Initial %s PortInfo:\n, is_switch ? Switch : CA); @@ -591,7 +591,7 @@ int main(int argc, char **argv) /* Get peer port NodeInfo to obtain peer port number */ is_peer_switch = get_node_info(peerportid, data); - rem_devid = mad_get_field(data, 0, IB_NODE_DEVID_F); + rem_devid = (uint16_t) mad_get_field(data, 0, IB_NODE_DEVID_F); mad_decode_field(data, IB_NODE_LOCAL_PORT_F, peerlocalportnum); -- Ira Weiny Math Programmer/Computer Scientist Lawrence Livermore National Lab 925-423-8008 wei...@llnl.gov -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] ib-diags: Add cast to fix build on windows
It supresses a warning, warnings are not build failures. Actually, on windows the build fails. No executables are built. mad_[get|set]_field[8|16|32] should work fine. But those are exported from ibmad, which would require ib-diags to either check for them as a requirement or implement them if not found. -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] infiniband-diags: ibqueryerrors add query failure count
Report query failure count as part of summary Signed-off-by: Ira Weiny wei...@llnl.gov --- src/ibqueryerrors.c |9 + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/src/ibqueryerrors.c b/src/ibqueryerrors.c index 8e0b336..fa116a9 100644 --- a/src/ibqueryerrors.c +++ b/src/ibqueryerrors.c @@ -83,6 +83,7 @@ struct { int bad_nodes; int ports_checked; int bad_ports; + int pma_query_failures; } summary = { 0 }; #define DEF_THRES_FILE IBDIAG_CONFIG_PATH/error_thresholds @@ -291,6 +292,8 @@ static int print_summary(void) printf(## %d ports checked, %d ports have errors beyond threshold\n, summary.ports_checked, summary.bad_ports); printf(## %s\n, threshold_str); + if (summary.pma_query_failures) + printf(## %d PMA query failures\n, summary.pma_query_failures); report_suppressed(); return (summary.bad_ports); } @@ -310,6 +313,7 @@ static int query_and_dump(char *buf, size_t size, ib_portid_t * portid, ibmad_port)) { IBWARN(%s query failed on %s, %s port %d, attr_name, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return 0; } @@ -447,6 +451,7 @@ static int query_cap_mask(ib_portid_t * portid, char *node_name, int portnum, ibmad_port)) { IBWARN(classportinfo query failed on %s, %s port %d, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return -1; } @@ -473,6 +478,7 @@ static int print_data_cnts(ib_portid_t * portid, uint16_t cap_mask, IB_GSI_PORT_COUNTERS_EXT, ibmad_port)) { IBWARN(IB_GSI_PORT_COUNTERS_EXT query failed on %s, %s port %d, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return (1); } start_field = IB_PC_EXT_XMT_BYTES_F; @@ -485,6 +491,7 @@ static int print_data_cnts(ib_portid_t * portid, uint16_t cap_mask, IB_GSI_PORT_COUNTERS, ibmad_port)) { IBWARN(IB_GSI_PORT_COUNTERS query failed on %s, %s port %d, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return (1); } start_field = IB_PC_XMT_BYTES_F; @@ -539,6 +546,7 @@ static int print_errors(ib_portid_t * portid, uint16_t cap_mask, IB_GSI_PORT_COUNTERS, ibmad_port)) { IBWARN(IB_GSI_PORT_COUNTERS query failed on %s, %s port %d, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return (0); } @@ -547,6 +555,7 @@ static int print_errors(ib_portid_t * portid, uint16_t cap_mask, IB_GSI_PORT_COUNTERS_EXT, ibmad_port)) { IBWARN(IB_GSI_PORT_COUNTERS_EXT query failed on %s, %s port %d, node_name, portid2str(portid), portnum); + summary.pma_query_failures++; return (0); } pc_ext = pce; -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ib-diags: Add cast to fix build on windows
On Thu, Sep 22, 2011 at 11:03:24PM +, Hefty, Sean wrote: It supresses a warning, warnings are not build failures. Actually, on windows the build fails. No executables are built. Seriously? I hope this is because you've got the warnings are errors flag set.. mad_[get|set]_field[8|16|32] should work fine. But those are exported from ibmad, which would require ib-diags to either check for them as a requirement or implement them if not found. Everyone using ibmad on windows should have this problem, so fixing ibmad seems proper to me.. Tag the no-size ones with deprecated and you will no longer have this problem in your Windows porting efforts because all the Linux compilers will complain. Jason -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 33/55] infiniband: irq: Remove IRQF_DISABLED
On Thu, Sep 22, 2011 at 09:56:07AM -0700, Roland Dreier wrote: Is someone taking this whole series, or should I take the ehca part? You could take it and Thomas will take the leftovers. (I know the ehca guys already acked this) Yeah, so I mentioned it in the cover letter :) Thanks, Yong -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 33/55] infiniband: irq: Remove IRQF_DISABLED
On Fri, Sep 23, 2011 at 9:40 AM, Yong Zhang yong.zha...@gmail.com wrote: On Thu, Sep 22, 2011 at 09:56:07AM -0700, Roland Dreier wrote: Is someone taking this whole series, or should I take the ehca part? You could take it and Thomas will take the leftovers. (I know the ehca guys already acked this) Yeah, so I mentioned it in the cover letter :) Seems I still don't wake up yet. Sorry for my misreading. So like I said above, you could take it if you want to. Otherwise Thomas will take it. Thanks, Yong -- Only stand for myself -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html