public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Fredrik Unger <funger-e+cCxrzAqRFWk0Htik3J/w@public.gmane.org>
To: Eli Cohen <eli-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: kitten - mlx4: Unhandled interrupt - owner bit
Date: Wed, 10 Mar 2010 20:39:51 +0100	[thread overview]
Message-ID: <4B97F587.3000209@hpce.nec.com> (raw)
In-Reply-To: <20100310163521.GB18440-8YAHvHwT2UEvbXDkjdHOrw/a8Rv0c6iv@public.gmane.org>

Eli Cohen wrote:
> On Wed, Mar 10, 2010 at 04:03:26PM +0100, Fredrik Unger wrote:
>> When investigating the error it seems to stem from next_eqe_sw in drivers/net/mlx4/eq.c
>> called by the interrupt handler.
>> What happens is that (eqe->owner & 0x80) is true causing the routine to return
>> NULL resulting in an unhandled interrupt (eg the interrupt routine returns 0)
> 
> Please note that the condition is a bit more complicated. I quote the
> whole function:
> 
> static struct mlx4_eqe *next_eqe_sw(struct mlx4_eq *eq)
> {
>         struct mlx4_eqe *eqe = get_eqe(eq, eq->cons_index);
>         return !!(eqe->owner & 0x80) ^ !!(eq->cons_index & eq->nent) ? NULL : eqe;
> }

Yes you are correct,
To clarify I checked each of the statements separatly and from what I
could gather
(eqe->owner & 0x80) was true and
(eq->cons_index & eq->nent) false.
But true! As I am not sure what each statement hides,
I do not know if both should be false or true for the eqe to be
returned. Will try to check the cons_index closer.

Where could I find out more about owner and cons_index / nent ?

Thank you,

Fredrik Unger


--
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

  parent reply	other threads:[~2010-03-10 19:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-10 15:03 kitten - mlx4: Unhandled interrupt - owner bit Fredrik Unger
     [not found] ` <4B97B4BE.1050809-e+cCxrzAqRFWk0Htik3J/w@public.gmane.org>
2010-03-10 16:35   ` Eli Cohen
     [not found]     ` <20100310163521.GB18440-8YAHvHwT2UEvbXDkjdHOrw/a8Rv0c6iv@public.gmane.org>
2010-03-10 19:39       ` Fredrik Unger [this message]
     [not found]         ` <4B97F587.3000209-e+cCxrzAqRFWk0Htik3J/w@public.gmane.org>
2010-03-10 20:00           ` Roland Dreier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B97F587.3000209@hpce.nec.com \
    --to=funger-e+ccxrzaqrfwk0htik3j/w@public.gmane.org \
    --cc=eli-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox