[dpdk-dev] [EXT] RE: [PATCH 1/1] eal/linux: fix event set error for rte_epoll_event

wangyunjian wangyunjian at huawei.com
Mon Nov 2 03:15:01 CET 2020


> -----Original Message-----
> From: wangyunjian
> Sent: Tuesday, September 22, 2020 8:06 PM
> To: 'Harman Kalra' <hkalra at marvell.com>
> Cc: dev at dpdk.org; david.marchand at redhat.com; ferruh.yigit at intel.com;
> Thomas Monjalon <thomas at monjalon.net>; Lilijun (Jerry)
> <jerry.lilijun at huawei.com>; xudingke <xudingke at huawei.com>;
> stable at dpdk.org
> Subject: RE: [EXT] RE: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error for
> rte_epoll_event
> 
> > -----Original Message-----
> > From: Harman Kalra [mailto:hkalra at marvell.com]
> > Sent: Tuesday, September 22, 2020 6:32 PM
> > To: wangyunjian <wangyunjian at huawei.com>
> > Cc: dev at dpdk.org; david.marchand at redhat.com; ferruh.yigit at intel.com;
> > Thomas Monjalon <thomas at monjalon.net>; Lilijun (Jerry)
> > <jerry.lilijun at huawei.com>; xudingke <xudingke at huawei.com>;
> > stable at dpdk.org
> > Subject: Re: [EXT] RE: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set
> > error for rte_epoll_event
> >
> > On Sat, Sep 19, 2020 at 10:42:30AM +0000, wangyunjian wrote:
> > > External Email
> > >
> > > --------------------------------------------------------------------
> > > --
> > > Friendly ping.
> >
> > Hi Wang,
> >
> >    I am sorry for the delay in review, I will surely complete the review
> >    by end of this week.
> >    Can you please elaborate on the specific case/scenario which caused
> >    failure i.e. which lead you to this change.
> 
> EPOLLERR event will be triggered when an exception occurs. This event will be
> set in 'evs.events', we should use 'evs.events' instead of 'rev->epdata.event' to
> assign to 'events.epdata.event'. Otherwise, the EPOLLERR event will lost.
> 
> Thanks,
> Yunjian

Hi Harman,

Is there any ideas on this issue?

> 
> >
> > Thanks
> > Harman
> >
> > >
> > > > -----Original Message-----
> > > > From: wangyunjian
> > > > Sent: Wednesday, August 26, 2020 6:56 PM
> > > > To: dev at dpdk.org; hkalra at marvell.com; david.marchand at redhat.com
> > > > Cc: 'ferruh.yigit at intel.com' <ferruh.yigit at intel.com>; 'Thomas Monjalon'
> > > > <thomas at monjalon.net>; Lilijun (Jerry) <jerry.lilijun at huawei.com>;
> > > > xudingke <xudingke at huawei.com>; stable at dpdk.org
> > > > Subject: RE: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error
> > > > for rte_epoll_event
> > > >
> > > > Ping for review, please.
> > > >
> > > > > -----Original Message-----
> > > > > From: wangyunjian
> > > > > Sent: Wednesday, July 15, 2020 10:40 AM
> > > > > To: dev at dpdk.org; hkalra at marvell.com
> > > > > Cc: Lilijun (Jerry) <jerry.lilijun at huawei.com>; xudingke
> > > > > <xudingke at huawei.com>; wangyunjian <wangyunjian at huawei.com>;
> > > > > stable at dpdk.org
> > > > > Subject: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error
> > > > > for rte_epoll_event
> > > > >
> > > > > From: Yunjian Wang <wangyunjian at huawei.com>
> > > > >
> > > > > The "rev->epdata.event" assigned to "events.epdata.event"
> > > > > directly, which was wrong in case of epoll events. It should be
> > > > > set to the
> > "evs.events".
> > > > >
> > > > > Fixes: 9efe9c6cdcac ("eal/linux: add epoll wrappers")
> > > > > Cc: stable at dpdk.org
> > > > >
> > > > > Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> > > > > ---
> > > > >  lib/librte_eal/linux/eal_interrupts.c | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/lib/librte_eal/linux/eal_interrupts.c
> > > > > b/lib/librte_eal/linux/eal_interrupts.c
> > > > > index 13db5c4e8..8a3c95cec 100644
> > > > > --- a/lib/librte_eal/linux/eal_interrupts.c
> > > > > +++ b/lib/librte_eal/linux/eal_interrupts.c
> > > > > @@ -1237,7 +1237,7 @@ eal_epoll_process_event(struct epoll_event
> > > > > *evs, unsigned int n,
> > > > >  		events[count].status        = RTE_EPOLL_VALID;
> > > > >  		events[count].fd            = rev->fd;
> > > > >  		events[count].epfd          = rev->epfd;
> > > > > -		events[count].epdata.event  = rev->epdata.event;
> > > > > +		events[count].epdata.event  = evs[i].events;
> > > > >  		events[count].epdata.data   = rev->epdata.data;
> > > > >  		if (rev->epdata.cb_fun)
> > > > >  			rev->epdata.cb_fun(rev->fd,
> > > > > --
> > > > > 2.23.0
> > > > >
> > >


More information about the dev mailing list