DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Zhou, Danny" <danny.zhou@intel.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 4/5] eal: add per rx queue interrupt handling based on VFIO
Date: Mon, 23 Feb 2015 15:24:13 +0000	[thread overview]
Message-ID: <DFDF335405C17848924A094BC35766CF0AAB3D4E@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <2740446.fpxNnYhYZp@xps13>


> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Monday, February 23, 2015 11:19 PM
> To: Zhou, Danny
> Cc: Gonzalez Monroy, Sergio; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v4 4/5] eal: add per rx queue interrupt handling based on VFIO
> 
> 2015-02-23 15:02, Zhou, Danny:
> > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > 2015-02-23 11:47, Zhou, Danny:
> > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > > > 2015-02-19 21:48, Zhou Danny:
> > > > > > --- a/lib/librte_eal/linuxapp/eal/Makefile
> > > > > > +++ b/lib/librte_eal/linuxapp/eal/Makefile
> > > > > > @@ -43,6 +43,7 @@ CFLAGS += -I$(SRCDIR)/include
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_ring
> > > > > > +CFLAGS += -I$(RTE_SDK)/lib/librte_mbuf
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_malloc
> > > > > >  CFLAGS += -I$(RTE_SDK)/lib/librte_ether
> > > > >
> > > > > Why do we need mbuf in EAL?
> > > >
> > > > The file eal_interrupts.c includes rte_ethdev.h which defines structure rte_eth_devices that
> > > > eal needs to use in order to get per-port intr_handle. The rte_ethdev.h includes the rte_mbuf.h
> > > > so the Makefile is updated here.
> > >
> > > I see. You are breaking layer isolation by introducing ethdev in EAL.
> > > The cause seems to be:
> > >
> > > +       struct rte_intr_handle intr_handle =
> > > +                               rte_eth_devices[port_id].pci_dev->intr_handle;
> > >
> > > Maybe that pci_dev should be a parameter of the function.
> >
> > Adding pci_dev as a parameter has similar problem due to eal does not include rte_pci.h which
> 
> I don't understand your assertion. rte_pci.h is part of EAL.
> 

rte_eal.h does not include any DPDK header file, adding pci_dev would force it to include rte_pci.h file.
With solution below, those kinds of mess could be completely avoided.

> > defines struct rte_pci_device. It looks the new-added function rte_eal_wait_rx_intr(uint8_t port_id, uint8_t queue_id);
> > is not proper to be declared in rte_eal.h, will rename it to
> > 	rte_intr_wait_rx (struct rte_intr_handle *intr_handle, uint8_t queue_id);
> >
> > and then move declaration from rte_eal.h to rte_interrupts.h. So isolation can be avoided and no need to includes
> rte_ethdev.h
> > and change Makefile.
> 
> Yes could be better.

  reply	other threads:[~2015-02-23 15:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-19 13:48 [dpdk-dev] [PATCH v4 0/5] Interrupt mode PMD Zhou Danny
2015-02-19 13:48 ` [dpdk-dev] [PATCH v4 1/5] ethdev: add rx interrupt enable/disable functions Zhou Danny
2015-02-19 13:48 ` [dpdk-dev] [PATCH v4 2/5] ixgbe: enable rx queue interrupts for both PF and VF Zhou Danny
2015-02-23 11:19   ` Thomas Monjalon
2015-02-23 11:23     ` Zhou, Danny
2015-02-23 13:20       ` Thomas Monjalon
2015-02-23 15:11         ` Zhou, Danny
2015-02-19 13:48 ` [dpdk-dev] [PATCH v4 3/5] igb: enable rx queue interrupts for PF Zhou Danny
2015-02-19 13:48 ` [dpdk-dev] [PATCH v4 4/5] eal: add per rx queue interrupt handling based on VFIO Zhou Danny
2015-02-20 22:43   ` Thomas Monjalon
2015-02-23 11:47     ` Zhou, Danny
2015-02-23 13:28       ` Thomas Monjalon
2015-02-23 15:02         ` Zhou, Danny
2015-02-23 15:19           ` Thomas Monjalon
2015-02-23 15:24             ` Zhou, Danny [this message]
2015-02-21  2:56   ` Jun Xiao
2015-02-23 11:23     ` Zhou, Danny
2015-02-19 13:48 ` [dpdk-dev] [PATCH v4 5/5] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Zhou Danny
2015-02-20  8:50 ` [dpdk-dev] [PATCH v4 0/5] Interrupt mode PMD Gonzalez Monroy, Sergio

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=DFDF335405C17848924A094BC35766CF0AAB3D4E@SHSMSX104.ccr.corp.intel.com \
    --to=danny.zhou@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).