On Tue, Aug 25, 2015 at 08:59:13AM -0400, Hal Rosenstock wrote:
> > -           if (mcast->logcount++ < 20) {
> > -                   if (status == -ETIMEDOUT || status == -EAGAIN) {
> > +           bool silent_fail =
> > +               test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) &&
> > +               status == -EINVAL;
> 
> Aren't there other reasons that send only join might have EINVAL
> indicated ?

Not sure, the layers below all eat the detailed error code. Hopefully
EINVAL isn't re-used.

> Maybe it's better to be overly silent rather than overly
> verbose as to not spam the log but it seems like it would make debug of
> such cases harder.

It makes debugging harder to have worthless messages because they
obscure what is going on. The first time I saw this I assumed there
was an issue, but it turns out to be an expected failure.

The other issue is the way the rate limiting works:

> > +           if (mcast->logcount < 20) {
> > +                   if (status == -ETIMEDOUT || status == -EAGAIN ||
> > +                       silent_fail) {
> >                             ipoib_dbg_mcast(priv, "%smulticast join failed 
> > for %pI6, status %d\n",
> >                                             
> > test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags) ? "sendonly " : "",
> >                                             mcast->mcmember.mgid.raw, 
> > status);

So wasting logcount with expected failures just results in eating
unexpected failures...

> ipoib_dbg_mcast logging is conditionalized on CONFIG_INFINIBAND_IPOIB_DEBUG

Most distros turn this off so the change only impacts people trying to
debug this stuff.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to