Message ID | 20170321105706.9355-2-leon@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Tue, 2017-03-21 at 12:57 +0200, Leon Romanovsky wrote: > From: Jack Morgenstein <jackm@dev.mellanox.co.il> > > A warning message during SRIOV multicast cleanup should have actually > been > a debug level message. The condition generating the warning does no > harm > and can fill the message log. > > In some cases, during testing, some tests were so intense as to swamp > the > message log with these warning messages, causing a stall in the > console > message log output task. This stall caused an NMI to be sent to all > CPUs > (so that they all dumped their stacks into the message log). > Aside from the message flood causing an NMI, the tests all passed. > > Once the message flood which caused the NMI is removed (by reducing > the > warning message to debug level), the NMI no longer occurs. > > Sample message log (console log) output illustrating the flood and > resultant NMI (snippets with comments and modified with ... instead > of hex digits, to satisfy checkpatch.pl): [ snip ] Thanks, applied.
diff --git a/drivers/infiniband/hw/mlx4/mcg.c b/drivers/infiniband/hw/mlx4/mcg.c index e010fe459e67..8772d88d324d 100644 --- a/drivers/infiniband/hw/mlx4/mcg.c +++ b/drivers/infiniband/hw/mlx4/mcg.c @@ -1102,7 +1102,8 @@ static void _mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy while ((p = rb_first(&ctx->mcg_table)) != NULL) { group = rb_entry(p, struct mcast_group, node); if (atomic_read(&group->refcount)) - mcg_warn_group(group, "group refcount %d!!! (pointer %p)\n", atomic_read(&group->refcount), group); + mcg_debug_group(group, "group refcount %d!!! (pointer %p)\n", + atomic_read(&group->refcount), group); force_clean_group(group); }