* [Qemu-devel] [PATCH v1 0/1] net: cadence_gem: Remove incorrect assert() @ 2018-11-23 13:54 Edgar E. Iglesias 2018-11-23 13:54 ` [Qemu-devel] [PATCH v1 1/1] " Edgar E. Iglesias 0 siblings, 1 reply; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-23 13:54 UTC (permalink / raw) To: qemu-devel, qemu-arm Cc: peter.maydell, muhammad_bilal, frederic.konrad, alistair, philmd, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu, edgar.iglesias From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> This fixes an issue with the GEM models reported by Bilal. If a GEM's receiver is disabled, we shouldn't be asserting on descriptor processing. Cheers, Edgar Edgar E. Iglesias (1): net: cadence_gem: Remove incorrect assert() hw/net/cadence_gem.c | 1 - 1 file changed, 1 deletion(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 13:54 [Qemu-devel] [PATCH v1 0/1] net: cadence_gem: Remove incorrect assert() Edgar E. Iglesias @ 2018-11-23 13:54 ` Edgar E. Iglesias 2018-11-23 16:46 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-23 13:54 UTC (permalink / raw) To: qemu-devel, qemu-arm Cc: peter.maydell, muhammad_bilal, frederic.konrad, alistair, philmd, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu, edgar.iglesias From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> Don't assert on RX descriptor settings when the receiver is disabled. This fixes an issue with incoming packets on an unused GEM. Reported-by: mbilal <muhammad_bilal@mentor.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> --- hw/net/cadence_gem.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index d95cc27f58..7f63411430 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) /* Do nothing if receive is not enabled. */ if (!gem_can_receive(nc)) { - assert(!first_desc); return -1; } -- 2.17.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 13:54 ` [Qemu-devel] [PATCH v1 1/1] " Edgar E. Iglesias @ 2018-11-23 16:46 ` Philippe Mathieu-Daudé 2018-11-23 16:59 ` Edgar E. Iglesias 0 siblings, 1 reply; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2018-11-23 16:46 UTC (permalink / raw) To: Edgar E. Iglesias, qemu-devel, qemu-arm Cc: peter.maydell, muhammad_bilal, frederic.konrad, alistair, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu, edgar.iglesias Hi Edgar, On 23/11/18 14:54, Edgar E. Iglesias wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Don't assert on RX descriptor settings when the receiver is > disabled. This fixes an issue with incoming packets on an > unused GEM. > > Reported-by: mbilal <muhammad_bilal@mentor.com> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > --- > hw/net/cadence_gem.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > index d95cc27f58..7f63411430 100644 > --- a/hw/net/cadence_gem.c > +++ b/hw/net/cadence_gem.c > @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) > > /* Do nothing if receive is not enabled. */ > if (!gem_can_receive(nc)) { > - assert(!first_desc); Maybe worth: trace_gem_receive_packet_drop(size); > return -1; Shouldn't this be 'return 0'? The "net/net.h" doc is scarce... Regards, Phil. > } > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 16:46 ` Philippe Mathieu-Daudé @ 2018-11-23 16:59 ` Edgar E. Iglesias 2018-11-23 17:02 ` Edgar E. Iglesias 2018-11-23 17:09 ` Peter Maydell 0 siblings, 2 replies; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-23 16:59 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: qemu-devel, qemu-arm, peter.maydell, muhammad_bilal, frederic.konrad, alistair, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu, edgar.iglesias On Fri, Nov 23, 2018 at 05:46:17PM +0100, Philippe Mathieu-Daudé wrote: > Hi Edgar, Hi Philippe, > > On 23/11/18 14:54, Edgar E. Iglesias wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > Don't assert on RX descriptor settings when the receiver is > > disabled. This fixes an issue with incoming packets on an > > unused GEM. > > > > Reported-by: mbilal <muhammad_bilal@mentor.com> > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > > --- > > hw/net/cadence_gem.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > > index d95cc27f58..7f63411430 100644 > > --- a/hw/net/cadence_gem.c > > +++ b/hw/net/cadence_gem.c > > @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) > > > > /* Do nothing if receive is not enabled. */ > > if (!gem_can_receive(nc)) { > > - assert(!first_desc); > > Maybe worth: > > trace_gem_receive_packet_drop(size); Or perhaps a generic tracepoint on packet drops for any device. Anyway this is probably something for after the release. Not sure if it's too late to even get the removal of the assert into this release? Peter? > > > return -1; > > Shouldn't this be 'return 0'? > > The "net/net.h" doc is scarce... If we return 0 my understanding is that we later need to actively call qemu_flush_or_purge_queued_packets() to renable the rx path which the GEM model doesn't do. So that would mean refactoring the model a bit. Cheers, Edgar > > Regards, > > Phil. > > > } > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 16:59 ` Edgar E. Iglesias @ 2018-11-23 17:02 ` Edgar E. Iglesias 2018-11-23 17:06 ` Edgar E. Iglesias 2018-11-23 17:09 ` Peter Maydell 1 sibling, 1 reply; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-23 17:02 UTC (permalink / raw) To: Edgar E. Iglesias Cc: Philippe Mathieu-Daudé, qemu-devel, qemu-arm, peter.maydell, muhammad_bilal, frederic.konrad, alistair, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu On Fri, Nov 23, 2018 at 05:59:45PM +0100, Edgar E. Iglesias wrote: > On Fri, Nov 23, 2018 at 05:46:17PM +0100, Philippe Mathieu-Daudé wrote: > > Hi Edgar, > > Hi Philippe, > > > > > On 23/11/18 14:54, Edgar E. Iglesias wrote: > > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > > > Don't assert on RX descriptor settings when the receiver is > > > disabled. This fixes an issue with incoming packets on an > > > unused GEM. > > > > > > Reported-by: mbilal <muhammad_bilal@mentor.com> > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > > > --- > > > hw/net/cadence_gem.c | 1 - > > > 1 file changed, 1 deletion(-) > > > > > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > > > index d95cc27f58..7f63411430 100644 > > > --- a/hw/net/cadence_gem.c > > > +++ b/hw/net/cadence_gem.c > > > @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) > > > > > > /* Do nothing if receive is not enabled. */ > > > if (!gem_can_receive(nc)) { > > > - assert(!first_desc); > > > > Maybe worth: > > > > trace_gem_receive_packet_drop(size); > > Or perhaps a generic tracepoint on packet drops for any device. > Anyway this is probably something for after the release. > > Not sure if it's too late to even get the removal of the assert into this release? Peter? > > > > > > return -1; > > > > Shouldn't this be 'return 0'? > > > > The "net/net.h" doc is scarce... > > If we return 0 my understanding is that we later need to actively > call qemu_flush_or_purge_queued_packets() to renable the rx > path which the GEM model doesn't do. So that would mean > refactoring the model a bit. Actually, the GEM model does do that, my bad, so yes return 0 seems to be the right thing to do here. Thanks, Edgar > > Cheers, > Edgar > > > > > > Regards, > > > > Phil. > > > > > } > > > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 17:02 ` Edgar E. Iglesias @ 2018-11-23 17:06 ` Edgar E. Iglesias 2018-11-23 18:22 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-23 17:06 UTC (permalink / raw) To: Edgar E. Iglesias Cc: Philippe Mathieu-Daudé, qemu-devel, qemu-arm, peter.maydell, muhammad_bilal, frederic.konrad, alistair, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu On Fri, Nov 23, 2018 at 06:02:25PM +0100, Edgar E. Iglesias wrote: > On Fri, Nov 23, 2018 at 05:59:45PM +0100, Edgar E. Iglesias wrote: > > On Fri, Nov 23, 2018 at 05:46:17PM +0100, Philippe Mathieu-Daudé wrote: > > > Hi Edgar, > > > > Hi Philippe, > > > > > > > > On 23/11/18 14:54, Edgar E. Iglesias wrote: > > > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > > > > > Don't assert on RX descriptor settings when the receiver is > > > > disabled. This fixes an issue with incoming packets on an > > > > unused GEM. > > > > > > > > Reported-by: mbilal <muhammad_bilal@mentor.com> > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > > > > --- > > > > hw/net/cadence_gem.c | 1 - > > > > 1 file changed, 1 deletion(-) > > > > > > > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > > > > index d95cc27f58..7f63411430 100644 > > > > --- a/hw/net/cadence_gem.c > > > > +++ b/hw/net/cadence_gem.c > > > > @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) > > > > > > > > /* Do nothing if receive is not enabled. */ > > > > if (!gem_can_receive(nc)) { > > > > - assert(!first_desc); > > > > > > Maybe worth: > > > > > > trace_gem_receive_packet_drop(size); > > > > Or perhaps a generic tracepoint on packet drops for any device. > > Anyway this is probably something for after the release. > > > > Not sure if it's too late to even get the removal of the assert into this release? Peter? > > > > > > > > > return -1; > > > > > > Shouldn't this be 'return 0'? > > > > > > The "net/net.h" doc is scarce... > > > > If we return 0 my understanding is that we later need to actively > > call qemu_flush_or_purge_queued_packets() to renable the rx > > path which the GEM model doesn't do. So that would mean > > refactoring the model a bit. > > Actually, the GEM model does do that, my bad, so yes return 0 seems to be the right thing to do here. I take that back, the GEM model only handles some of the !can_receive cases with qemu_flush_queued_packets(). Not all, so return -1 is correct I think. Cheers, Edgar ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 17:06 ` Edgar E. Iglesias @ 2018-11-23 18:22 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2018-11-23 18:22 UTC (permalink / raw) To: Edgar E. Iglesias, Edgar E. Iglesias Cc: qemu-devel, qemu-arm, peter.maydell, muhammad_bilal, frederic.konrad, alistair, frasse.iglesias, figlesia, sstabellini, sai.pavan.boddu On 23/11/18 18:06, Edgar E. Iglesias wrote: > On Fri, Nov 23, 2018 at 06:02:25PM +0100, Edgar E. Iglesias wrote: >> On Fri, Nov 23, 2018 at 05:59:45PM +0100, Edgar E. Iglesias wrote: >>> On Fri, Nov 23, 2018 at 05:46:17PM +0100, Philippe Mathieu-Daudé wrote: >>>> Hi Edgar, >>> >>> Hi Philippe, >>> >>>> >>>> On 23/11/18 14:54, Edgar E. Iglesias wrote: >>>>> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> >>>>> >>>>> Don't assert on RX descriptor settings when the receiver is >>>>> disabled. This fixes an issue with incoming packets on an >>>>> unused GEM. >>>>> >>>>> Reported-by: mbilal <muhammad_bilal@mentor.com> >>>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> >>>>> --- >>>>> hw/net/cadence_gem.c | 1 - >>>>> 1 file changed, 1 deletion(-) >>>>> >>>>> diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c >>>>> index d95cc27f58..7f63411430 100644 >>>>> --- a/hw/net/cadence_gem.c >>>>> +++ b/hw/net/cadence_gem.c >>>>> @@ -979,7 +979,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) >>>>> >>>>> /* Do nothing if receive is not enabled. */ >>>>> if (!gem_can_receive(nc)) { >>>>> - assert(!first_desc); >>>> >>>> Maybe worth: >>>> >>>> trace_gem_receive_packet_drop(size); >>> >>> Or perhaps a generic tracepoint on packet drops for any device. >>> Anyway this is probably something for after the release. >>> >>> Not sure if it's too late to even get the removal of the assert into this release? Peter? >>> >>>> >>>>> return -1; >>>> >>>> Shouldn't this be 'return 0'? >>>> >>>> The "net/net.h" doc is scarce... >>> >>> If we return 0 my understanding is that we later need to actively >>> call qemu_flush_or_purge_queued_packets() to renable the rx >>> path which the GEM model doesn't do. So that would mean >>> refactoring the model a bit. >> >> Actually, the GEM model does do that, my bad, so yes return 0 seems to be the right thing to do here. > > I take that back, the GEM model only handles some of the !can_receive cases > with qemu_flush_queued_packets(). Not all, so return -1 is correct I think. OK, thanks for checking this. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Regards, Phil. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 16:59 ` Edgar E. Iglesias 2018-11-23 17:02 ` Edgar E. Iglesias @ 2018-11-23 17:09 ` Peter Maydell 2018-11-26 12:52 ` Edgar E. Iglesias 1 sibling, 1 reply; 10+ messages in thread From: Peter Maydell @ 2018-11-23 17:09 UTC (permalink / raw) To: Edgar E. Iglesias Cc: Philippe Mathieu-Daudé, QEMU Developers, qemu-arm, mbilal, KONRAD Frederic, Alistair Francis, Francisco Iglesias, figlesia, Stefano Stabellini, Sai Pavan Boddu, Edgar Iglesias On Fri, 23 Nov 2018 at 16:59, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > Not sure if it's too late to even get the removal of the assert into this release? Peter? If you're happy that removing the assert is the correct fix, yes, this could go in before rc3 next week. thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-23 17:09 ` Peter Maydell @ 2018-11-26 12:52 ` Edgar E. Iglesias 2018-11-26 13:42 ` Peter Maydell 0 siblings, 1 reply; 10+ messages in thread From: Edgar E. Iglesias @ 2018-11-26 12:52 UTC (permalink / raw) To: Peter Maydell Cc: Philippe Mathieu-Daudé, QEMU Developers, qemu-arm, mbilal, KONRAD Frederic, Alistair Francis, Francisco Iglesias, figlesia, Stefano Stabellini, Sai Pavan Boddu, Edgar Iglesias On Fri, Nov 23, 2018 at 05:09:35PM +0000, Peter Maydell wrote: > On Fri, 23 Nov 2018 at 16:59, Edgar E. Iglesias > <edgar.iglesias@gmail.com> wrote: > > Not sure if it's too late to even get the removal of the assert into this release? Peter? > > If you're happy that removing the assert is the correct fix, > yes, this could go in before rc3 next week. Yes, I think removing the assert is a suitable fix for the release. Thanks! Edgar ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v1 1/1] net: cadence_gem: Remove incorrect assert() 2018-11-26 12:52 ` Edgar E. Iglesias @ 2018-11-26 13:42 ` Peter Maydell 0 siblings, 0 replies; 10+ messages in thread From: Peter Maydell @ 2018-11-26 13:42 UTC (permalink / raw) To: Edgar E. Iglesias Cc: Philippe Mathieu-Daudé, QEMU Developers, qemu-arm, mbilal, KONRAD Frederic, Alistair Francis, Francisco Iglesias, figlesia, Stefano Stabellini, Sai Pavan Boddu, Edgar Iglesias On Mon, 26 Nov 2018 at 12:52, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > > On Fri, Nov 23, 2018 at 05:09:35PM +0000, Peter Maydell wrote: > > On Fri, 23 Nov 2018 at 16:59, Edgar E. Iglesias > > <edgar.iglesias@gmail.com> wrote: > > > Not sure if it's too late to even get the removal of the assert into this release? Peter? > > > > If you're happy that removing the assert is the correct fix, > > yes, this could go in before rc3 next week. > > > Yes, I think removing the assert is a suitable fix for the release. OK, I have applied this to target-arm.next for rc3. thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-11-26 13:42 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-11-23 13:54 [Qemu-devel] [PATCH v1 0/1] net: cadence_gem: Remove incorrect assert() Edgar E. Iglesias 2018-11-23 13:54 ` [Qemu-devel] [PATCH v1 1/1] " Edgar E. Iglesias 2018-11-23 16:46 ` Philippe Mathieu-Daudé 2018-11-23 16:59 ` Edgar E. Iglesias 2018-11-23 17:02 ` Edgar E. Iglesias 2018-11-23 17:06 ` Edgar E. Iglesias 2018-11-23 18:22 ` Philippe Mathieu-Daudé 2018-11-23 17:09 ` Peter Maydell 2018-11-26 12:52 ` Edgar E. Iglesias 2018-11-26 13:42 ` Peter Maydell
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).