xdp-newbies.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Pause and unpause queue
@ 2023-01-06  3:00 team lnx
  2023-01-06 13:00 ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 10+ messages in thread
From: team lnx @ 2023-01-06  3:00 UTC (permalink / raw)
  To: xdp-newbies

Hello everyone,

1. Is there a way to pause/unpause queue ?
2.  Is QoS (work in progress for XDP) ? Can we use work in progress
series if  there exists any ?

Thanks !

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-06  3:00 Pause and unpause queue team lnx
@ 2023-01-06 13:00 ` Toke Høiland-Jørgensen
  2023-01-07 18:04   ` team lnx
  0 siblings, 1 reply; 10+ messages in thread
From: Toke Høiland-Jørgensen @ 2023-01-06 13:00 UTC (permalink / raw)
  To: team lnx, xdp-newbies

team lnx <teamlnxi8@gmail.com> writes:

> Hello everyone,
>
> 1. Is there a way to pause/unpause queue ?
> 2.  Is QoS (work in progress for XDP) ? Can we use work in progress
> series if  there exists any ?

XDP has no pushback from the driver at all, nor any way to queue
packets. I am planning to add this, see this presentation at LPC last
year:

https://lpc.events/event/16/contributions/1351/

Could you elaborate a bit on what your use case is, specifically? :)

-Toke


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-06 13:00 ` Toke Høiland-Jørgensen
@ 2023-01-07 18:04   ` team lnx
  2023-01-07 18:24     ` Dave Taht
  2023-01-07 18:47     ` Toke Høiland-Jørgensen
  0 siblings, 2 replies; 10+ messages in thread
From: team lnx @ 2023-01-07 18:04 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen; +Cc: xdp-newbies

sure, during xdp redirect i found that sometimes the number of packets
arrived are too many for an interface
to handle in which case. Hence thought to experiment with tx pause to
make room for successive packets and then unpause !

Thanks !

On Fri, Jan 6, 2023 at 5:00 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>
> team lnx <teamlnxi8@gmail.com> writes:
>
> > Hello everyone,
> >
> > 1. Is there a way to pause/unpause queue ?
> > 2.  Is QoS (work in progress for XDP) ? Can we use work in progress
> > series if  there exists any ?
>
> XDP has no pushback from the driver at all, nor any way to queue
> packets. I am planning to add this, see this presentation at LPC last
> year:
>
> https://lpc.events/event/16/contributions/1351/
>
> Could you elaborate a bit on what your use case is, specifically? :)
>
> -Toke
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-07 18:04   ` team lnx
@ 2023-01-07 18:24     ` Dave Taht
  2023-01-07 18:48       ` Toke Høiland-Jørgensen
  2023-01-07 18:47     ` Toke Høiland-Jørgensen
  1 sibling, 1 reply; 10+ messages in thread
From: Dave Taht @ 2023-01-07 18:24 UTC (permalink / raw)
  To: team lnx; +Cc: Toke Høiland-Jørgensen, xdp-newbies

On Sat, Jan 7, 2023 at 10:08 AM team lnx <teamlnxi8@gmail.com> wrote:
>
> sure, during xdp redirect i found that sometimes the number of packets
> arrived are too many for an interface

That is often the case.

> to handle in which case. Hence thought to experiment with tx pause to
> make room for successive packets and then unpause !

"pauses" are really not how the internet works, there needs to be end
to end signalling to "slow down", either via packet loss, or marking.
RFC970 is a good read here.

I like to think that some of the most advanced work for xdp is our
ongoing work in libreqos, which
leverages XDP for the input path, and then a complicated setup to
manage 10s of thousands of ISP bandwidth plans.

Demo here: https://payne.taht.net/ (hit bandwidth test, click on things)
Code here: https://github.com/LibreQoE/

I think it would be good for that project to attempt a simpler setup
someday merely to load balance XDP connections at some point, rather
than emulating plans.

>
> Thanks !
>
> On Fri, Jan 6, 2023 at 5:00 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
> >
> > team lnx <teamlnxi8@gmail.com> writes:
> >
> > > Hello everyone,
> > >
> > > 1. Is there a way to pause/unpause queue ?
> > > 2.  Is QoS (work in progress for XDP) ? Can we use work in progress
> > > series if  there exists any ?
> >
> > XDP has no pushback from the driver at all, nor any way to queue
> > packets. I am planning to add this, see this presentation at LPC last
> > year:
> >
> > https://lpc.events/event/16/contributions/1351/
> >
> > Could you elaborate a bit on what your use case is, specifically? :)
> >
> > -Toke
> >



-- 
This song goes out to all the folk that thought Stadia would work:
https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz
Dave Täht CEO, TekLibre, LLC

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-07 18:04   ` team lnx
  2023-01-07 18:24     ` Dave Taht
@ 2023-01-07 18:47     ` Toke Høiland-Jørgensen
  2023-01-10 10:32       ` Marcus Wichelmann
  1 sibling, 1 reply; 10+ messages in thread
From: Toke Høiland-Jørgensen @ 2023-01-07 18:47 UTC (permalink / raw)
  To: team lnx; +Cc: xdp-newbies

team lnx <teamlnxi8@gmail.com> writes:

> sure, during xdp redirect i found that sometimes the number of packets
> arrived are too many for an interface
> to handle in which case. Hence thought to experiment with tx pause to
> make room for successive packets and then unpause !

Right, so this is using XDP as a straight-forward forwarding
accelerator, redirecting from one interface to another? That will indeed
only work well if both interfaces are exactly the same link speed; this
is one of the motivating use cases for the queueing work :)

-Toke


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-07 18:24     ` Dave Taht
@ 2023-01-07 18:48       ` Toke Høiland-Jørgensen
  2023-01-08  6:02         ` team lnx
  0 siblings, 1 reply; 10+ messages in thread
From: Toke Høiland-Jørgensen @ 2023-01-07 18:48 UTC (permalink / raw)
  To: Dave Taht, team lnx; +Cc: xdp-newbies

Dave Taht <dave.taht@gmail.com> writes:

> On Sat, Jan 7, 2023 at 10:08 AM team lnx <teamlnxi8@gmail.com> wrote:
>>
>> sure, during xdp redirect i found that sometimes the number of packets
>> arrived are too many for an interface
>
> That is often the case.
>
>> to handle in which case. Hence thought to experiment with tx pause to
>> make room for successive packets and then unpause !
>
> "pauses" are really not how the internet works, there needs to be end
> to end signalling to "slow down", either via packet loss, or marking.
> RFC970 is a good read here.

Actually it is, kinda, at this level: Pausing the TX interface (when the
HWQ is full) is how the regular network stack creates backpressure
against the qdisc, which is what allows fq_codel and friends to
function. This is missing entirely from the XDP redirect path, which is
what we're trying to fix...

-Toke


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-07 18:48       ` Toke Høiland-Jørgensen
@ 2023-01-08  6:02         ` team lnx
  2023-01-09 13:27           ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 10+ messages in thread
From: team lnx @ 2023-01-08  6:02 UTC (permalink / raw)
  To: xdp-newbies

Thanks Toke and Dave for the response with explanation and knowledge
which explains that its work in progress !!

Thanks !

On Sat, Jan 7, 2023 at 10:49 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>
> Dave Taht <dave.taht@gmail.com> writes:
>
> > On Sat, Jan 7, 2023 at 10:08 AM team lnx <teamlnxi8@gmail.com> wrote:
> >>
> >> sure, during xdp redirect i found that sometimes the number of packets
> >> arrived are too many for an interface
> >
> > That is often the case.
> >
> >> to handle in which case. Hence thought to experiment with tx pause to
> >> make room for successive packets and then unpause !
> >
> > "pauses" are really not how the internet works, there needs to be end
> > to end signalling to "slow down", either via packet loss, or marking.
> > RFC970 is a good read here.
>
> Actually it is, kinda, at this level: Pausing the TX interface (when the
> HWQ is full) is how the regular network stack creates backpressure
> against the qdisc, which is what allows fq_codel and friends to
> function. This is missing entirely from the XDP redirect path, which is
> what we're trying to fix...
>
> -Toke
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-08  6:02         ` team lnx
@ 2023-01-09 13:27           ` Toke Høiland-Jørgensen
  0 siblings, 0 replies; 10+ messages in thread
From: Toke Høiland-Jørgensen @ 2023-01-09 13:27 UTC (permalink / raw)
  To: team lnx, xdp-newbies

team lnx <teamlnxi8@gmail.com> writes:

> Thanks Toke and Dave for the response with explanation and knowledge
> which explains that its work in progress !!
>
> Thanks !

You're welcome! :)

-Toke


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-07 18:47     ` Toke Høiland-Jørgensen
@ 2023-01-10 10:32       ` Marcus Wichelmann
  2023-01-10 15:00         ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 10+ messages in thread
From: Marcus Wichelmann @ 2023-01-10 10:32 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen, team lnx; +Cc: xdp-newbies

Am 07.01.23 um 19:47 schrieb Toke Høiland-Jørgensen:
> team lnx <teamlnxi8@gmail.com> writes:
> 
>> sure, during xdp redirect i found that sometimes the number of packets
>> arrived are too many for an interface
>> to handle in which case. Hence thought to experiment with tx pause to
>> make room for successive packets and then unpause !
> 
> Right, so this is using XDP as a straight-forward forwarding
> accelerator, redirecting from one interface to another? That will indeed
> only work well if both interfaces are exactly the same link speed; this
> is one of the motivating use cases for the queueing work :)
> 
> -Toke
> 

Hi,

I saw your talk and the patch set from july about this. What is blocking 
things right now from getting into the kernel?

XDP queuing support would be really nice to have. ;)

Thanks for your work!
Marcus

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Pause and unpause queue
  2023-01-10 10:32       ` Marcus Wichelmann
@ 2023-01-10 15:00         ` Toke Høiland-Jørgensen
  0 siblings, 0 replies; 10+ messages in thread
From: Toke Høiland-Jørgensen @ 2023-01-10 15:00 UTC (permalink / raw)
  To: Marcus Wichelmann, team lnx; +Cc: xdp-newbies

Marcus Wichelmann <marcus.wichelmann@hetzner-cloud.de> writes:

> Am 07.01.23 um 19:47 schrieb Toke Høiland-Jørgensen:
>> team lnx <teamlnxi8@gmail.com> writes:
>> 
>>> sure, during xdp redirect i found that sometimes the number of packets
>>> arrived are too many for an interface
>>> to handle in which case. Hence thought to experiment with tx pause to
>>> make room for successive packets and then unpause !
>> 
>> Right, so this is using XDP as a straight-forward forwarding
>> accelerator, redirecting from one interface to another? That will indeed
>> only work well if both interfaces are exactly the same link speed; this
>> is one of the motivating use cases for the queueing work :)
>> 
>> -Toke
>> 
>
> Hi,
>
> I saw your talk and the patch set from july about this. What is blocking 
> things right now from getting into the kernel?

Well, the immediate blocker is me getting around to revising the patch
set and incorporating feedback + some other ideas for how to do it
properly. I managed to get awfully sidetracked before the holidays, but
it's on my list of things to pick back up this year :)

> XDP queuing support would be really nice to have. ;)

Knowing that there's interest in this certainly helps motivation-wise,
so thanks for that!

-Toke


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-01-10 15:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-06  3:00 Pause and unpause queue team lnx
2023-01-06 13:00 ` Toke Høiland-Jørgensen
2023-01-07 18:04   ` team lnx
2023-01-07 18:24     ` Dave Taht
2023-01-07 18:48       ` Toke Høiland-Jørgensen
2023-01-08  6:02         ` team lnx
2023-01-09 13:27           ` Toke Høiland-Jørgensen
2023-01-07 18:47     ` Toke Høiland-Jørgensen
2023-01-10 10:32       ` Marcus Wichelmann
2023-01-10 15:00         ` Toke Høiland-Jørgensen

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