From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: "Zhang, Qi Z" <qi.z.zhang@intel.com>
Cc: dev@dpdk.org, "Wu, Jingjing" <jingjing.wu@intel.com>
Subject: Re: [PATCH] eal: fix max number of interrupt request
Date: Mon, 13 Feb 2017 22:28:52 +0100 [thread overview]
Message-ID: <11810388.91RJejsIF6@xps13> (raw)
In-Reply-To: <039ED4275CED7440929022BC67E706115305B067@SHSMSX103.ccr.corp.intel.com>
2017-02-13 01:16, Zhang, Qi Z:
> Hi Thomas:
>
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > 2017-02-09 14:59, Qi Zhang:
> > > The max number of interrupt request is possible be changed after
> > > rte_intr_callback_register, so in get_max_intr, we need to check if
> > > nessesary to update the max_intr.
> >
> > So you are using rte_intr_enable() to update the max_intr field in the case of
> > VFIO_MSIX.
> > What about MSI, INTX and UIO cases?
>
> My thought is, even without my fix, VFIO_MSIX is already the only case that try to modify max_intr field
> In get_max_intr, we have:
> if (!src->intr_handle.max_intr)
> src->intr_handle.max_intr = 1;
> else if (src->intr_handle.max_intr > RTE_MAX_RXTX_INTR_VEC_ID)
> src->intr_handle.max_intr
> = RTE_MAX_RXTX_INTR_VEC_ID + 1;
> So my patch just follow this and fix some problem.
>
> Another option is I can use a local variable that assigned by max_intr with boundary check, so get_max_intr can be totally removed and max_intr in intr_source will not be modified.
>
> To me both fix are not perfect, I think the problem is in rte_intr_callback_register we just save a copy of the pci_dev->intr_handle but not the address point, so we are missing some mechanism to sync them.
> But since we have tight schedule on the 17.02 release and this issue does cause some example code can't work, so we need to a fix it first, we may consider improve the mechanism later.
>
> Thanks
> Qi
Applied with this title: "vfio: fix maximum number of interrupt for MSI-X"
Please check how to document this behaviour and make it consistent
with other types of interrupts.
next prev parent reply other threads:[~2017-02-13 21:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-09 19:59 [PATCH] eal: fix max number of interrupt request Qi Zhang
2017-02-10 10:18 ` Thomas Monjalon
2017-02-13 1:16 ` Zhang, Qi Z
2017-02-13 21:28 ` Thomas Monjalon [this message]
2017-02-14 0:13 ` Zhang, Qi Z
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=11810388.91RJejsIF6@xps13 \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=qi.z.zhang@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.