* [Bloat] WSL2 + fq_codel @ 2023-02-25 18:54 Dave Taht 2023-02-25 20:37 ` Michael Richardson 0 siblings, 1 reply; 7+ messages in thread From: Dave Taht @ 2023-02-25 18:54 UTC (permalink / raw) To: bloat I so want to believe... I so want to believe... can anyone confirm? https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl ... CONFIG_NET_SCH_DEFAULT=y CONFIG_DEFAULT_FQ_CODEL=y # CONFIG_DEFAULT_PFIFO_FAST is not set CONFIG_DEFAULT_NET_SCH="fq_codel" -- A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-25 18:54 [Bloat] WSL2 + fq_codel Dave Taht @ 2023-02-25 20:37 ` Michael Richardson 2023-02-25 20:54 ` Stephen Hemminger 0 siblings, 1 reply; 7+ messages in thread From: Michael Richardson @ 2023-02-25 20:37 UTC (permalink / raw) To: Dave Taht; +Cc: bloat [-- Attachment #1.1: Type: text/plain, Size: 1008 bytes --] Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: > I so want to believe... I so want to believe... can anyone confirm? > https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux ABI on top of Windows service(s). If you told me that they build some of it from actual Linux kernel sources, I'd believe you. (Rather like User-Mode-Linux) If you told me that they have a kernel that they build for when they actually spin up an actual VM (such as to run containers) that would also be unsurprising. > ... > CONFIG_NET_SCH_DEFAULT=y > CONFIG_DEFAULT_FQ_CODEL=y > # CONFIG_DEFAULT_PFIFO_FAST is not set > CONFIG_DEFAULT_NET_SCH="fq_codel" It would be nice if the billion windows desktops started doing something better, but I don't think it will help observed latency. The real question is what the default schedule for the default Azure Linux VM is. [-- Attachment #1.2: Signature --] [-- Type: text/plain, Size: 242 bytes --] -- ] Never tell me the odds! | ipv6 mesh networks [ ] Michael Richardson, Sandelman Software Works | IoT architect [ ] mcr@sandelman.ca http://www.sandelman.ca/ | ruby on rails [ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-25 20:37 ` Michael Richardson @ 2023-02-25 20:54 ` Stephen Hemminger 2023-02-25 22:07 ` Dave Taht 0 siblings, 1 reply; 7+ messages in thread From: Stephen Hemminger @ 2023-02-25 20:54 UTC (permalink / raw) To: Michael Richardson via Bloat [-- Attachment #1: Type: text/plain, Size: 1256 bytes --] On Sat, 25 Feb 2023 15:37:02 -0500 Michael Richardson via Bloat <bloat@lists.bufferbloat.net> wrote: > Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: > > I so want to believe... I so want to believe... can anyone confirm? > > > https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl > > But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux ABI on > top of Windows service(s). If you told me that they build some of it from > actual Linux kernel sources, I'd believe you. (Rather like User-Mode-Linux) > > If you told me that they have a kernel that they build for when they actually > spin up an actual VM (such as to run containers) that would also be unsurprising. > > > ... > > > CONFIG_NET_SCH_DEFAULT=y > > CONFIG_DEFAULT_FQ_CODEL=y > > # CONFIG_DEFAULT_PFIFO_FAST is not set > > CONFIG_DEFAULT_NET_SCH="fq_codel" > > It would be nice if the billion windows desktops started doing > something better, but I don't think it will help observed latency. > The real question is what the default schedule for the default Azure Linux VM > is. > I think WSL2 is actually a full Linux VM running in Hyper-V. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-25 20:54 ` Stephen Hemminger @ 2023-02-25 22:07 ` Dave Taht 2023-02-27 12:10 ` Maximilian Bachl 0 siblings, 1 reply; 7+ messages in thread From: Dave Taht @ 2023-02-25 22:07 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Michael Richardson via Bloat, Michael Richardson On Sat, Feb 25, 2023 at 12:54 PM Stephen Hemminger <stephen@networkplumber.org> wrote: > > On Sat, 25 Feb 2023 15:37:02 -0500 > Michael Richardson via Bloat <bloat@lists.bufferbloat.net> wrote: > > > Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: > > > I so want to believe... I so want to believe... can anyone confirm? > > > > > https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl > > > > But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux ABI on > > top of Windows service(s). If you told me that they build some of it from > > actual Linux kernel sources, I'd believe you. (Rather like User-Mode-Linux) > > > > If you told me that they have a kernel that they build for when they actually > > spin up an actual VM (such as to run containers) that would also be unsurprising. > > > > > ... > > > > > CONFIG_NET_SCH_DEFAULT=y > > > CONFIG_DEFAULT_FQ_CODEL=y > > > # CONFIG_DEFAULT_PFIFO_FAST is not set > > > CONFIG_DEFAULT_NET_SCH="fq_codel" > > > > It would be nice if the billion windows desktops started doing > > something better, but I don't think it will help observed latency. > > The real question is what the default schedule for the default Azure Linux VM > > is. > > > > I think WSL2 is actually a full Linux VM running in Hyper-V. Yes, it is. But it is kind of unknown how the underlying network interface is behaving in this case, as well as what the actual default qdisc is, and this not just a random gist. It was VERY exciting to see that gist go by... are there no windows users on this list? :/ We long ago should have pursued at least flent, and a TCP_INFO equivalent sampling method for windows. The closest thing we have for windows is the rust-based: https://github.com/Zoxc/crusader -- A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-25 22:07 ` Dave Taht @ 2023-02-27 12:10 ` Maximilian Bachl 2023-02-27 23:32 ` Stephen Hemminger 2023-02-27 23:36 ` Dave Taht 0 siblings, 2 replies; 7+ messages in thread From: Maximilian Bachl @ 2023-02-27 12:10 UTC (permalink / raw) To: Dave Taht; +Cc: Stephen Hemminger, Michael Richardson via Bloat [-- Attachment #1: Type: text/plain, Size: 3394 bytes --] Yes, the default interface of WSL2 seems to use fq_codel: $ tc qdisc show dev eth0 qdisc mq 0: root qdisc fq_codel 0: parent :8 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :7 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :6 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :5 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn On Sat, Feb 25, 2023 at 11:07 PM Dave Taht via Bloat < bloat@lists.bufferbloat.net> wrote: > On Sat, Feb 25, 2023 at 12:54 PM Stephen Hemminger > <stephen@networkplumber.org> wrote: > > > > On Sat, 25 Feb 2023 15:37:02 -0500 > > Michael Richardson via Bloat <bloat@lists.bufferbloat.net> wrote: > > > > > Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: > > > > I so want to believe... I so want to believe... can anyone > confirm? > > > > > > > > https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl > > > > > > But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux > ABI on > > > top of Windows service(s). If you told me that they build some of it > from > > > actual Linux kernel sources, I'd believe you. (Rather like > User-Mode-Linux) > > > > > > If you told me that they have a kernel that they build for when they > actually > > > spin up an actual VM (such as to run containers) that would also be > unsurprising. > > > > > > > ... > > > > > > > CONFIG_NET_SCH_DEFAULT=y > > > > CONFIG_DEFAULT_FQ_CODEL=y > > > > # CONFIG_DEFAULT_PFIFO_FAST is not set > > > > CONFIG_DEFAULT_NET_SCH="fq_codel" > > > > > > It would be nice if the billion windows desktops started doing > > > something better, but I don't think it will help observed latency. > > > The real question is what the default schedule for the default Azure > Linux VM > > > is. > > > > > > > I think WSL2 is actually a full Linux VM running in Hyper-V. > > Yes, it is. But it is kind of unknown how the underlying network > interface is behaving in this case, as well as what the actual default > qdisc is, and this not just a random gist. It was VERY exciting to see > that gist go by... > > are there no windows users on this list? :/ We long ago should have > pursued at least flent, and a TCP_INFO equivalent sampling method for > windows. The closest thing we have for windows is the rust-based: > https://github.com/Zoxc/crusader > > -- > A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ > Dave Täht CEO, TekLibre, LLC > _______________________________________________ > Bloat mailing list > Bloat@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/bloat > [-- Attachment #2: Type: text/html, Size: 4740 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-27 12:10 ` Maximilian Bachl @ 2023-02-27 23:32 ` Stephen Hemminger 2023-02-27 23:36 ` Dave Taht 1 sibling, 0 replies; 7+ messages in thread From: Stephen Hemminger @ 2023-02-27 23:32 UTC (permalink / raw) To: Maximilian Bachl; +Cc: Dave Taht, Michael Richardson via Bloat [-- Attachment #1: Type: text/plain, Size: 3662 bytes --] Should be whatever the Linux distro default is. Most people use Ubuntu On Mon, Feb 27, 2023, 4:11 AM Maximilian Bachl <maximilian.bachl@gmail.com> wrote: > Yes, the default interface of WSL2 seems to use fq_codel: > > $ tc qdisc show dev eth0 > qdisc mq 0: root > qdisc fq_codel 0: parent :8 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :7 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :6 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :5 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :3 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target > 5.0ms interval 100.0ms memory_limit 32Mb ecn > > On Sat, Feb 25, 2023 at 11:07 PM Dave Taht via Bloat < > bloat@lists.bufferbloat.net> wrote: > >> On Sat, Feb 25, 2023 at 12:54 PM Stephen Hemminger >> <stephen@networkplumber.org> wrote: >> > >> > On Sat, 25 Feb 2023 15:37:02 -0500 >> > Michael Richardson via Bloat <bloat@lists.bufferbloat.net> wrote: >> > >> > > Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: >> > > > I so want to believe... I so want to believe... can anyone >> confirm? >> > > >> > > > >> https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl >> > > >> > > But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux >> ABI on >> > > top of Windows service(s). If you told me that they build some of it >> from >> > > actual Linux kernel sources, I'd believe you. (Rather like >> User-Mode-Linux) >> > > >> > > If you told me that they have a kernel that they build for when they >> actually >> > > spin up an actual VM (such as to run containers) that would also be >> unsurprising. >> > > >> > > > ... >> > > >> > > > CONFIG_NET_SCH_DEFAULT=y >> > > > CONFIG_DEFAULT_FQ_CODEL=y >> > > > # CONFIG_DEFAULT_PFIFO_FAST is not set >> > > > CONFIG_DEFAULT_NET_SCH="fq_codel" >> > > >> > > It would be nice if the billion windows desktops started doing >> > > something better, but I don't think it will help observed latency. >> > > The real question is what the default schedule for the default Azure >> Linux VM >> > > is. >> > > >> > >> > I think WSL2 is actually a full Linux VM running in Hyper-V. >> >> Yes, it is. But it is kind of unknown how the underlying network >> interface is behaving in this case, as well as what the actual default >> qdisc is, and this not just a random gist. It was VERY exciting to see >> that gist go by... >> >> are there no windows users on this list? :/ We long ago should have >> pursued at least flent, and a TCP_INFO equivalent sampling method for >> windows. The closest thing we have for windows is the rust-based: >> https://github.com/Zoxc/crusader >> >> -- >> A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ >> Dave Täht CEO, TekLibre, LLC >> _______________________________________________ >> Bloat mailing list >> Bloat@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/bloat >> > [-- Attachment #2: Type: text/html, Size: 5443 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bloat] WSL2 + fq_codel 2023-02-27 12:10 ` Maximilian Bachl 2023-02-27 23:32 ` Stephen Hemminger @ 2023-02-27 23:36 ` Dave Taht 1 sibling, 0 replies; 7+ messages in thread From: Dave Taht @ 2023-02-27 23:36 UTC (permalink / raw) To: Maximilian Bachl; +Cc: Stephen Hemminger, Michael Richardson via Bloat On Mon, Feb 27, 2023 at 4:11 AM Maximilian Bachl <maximilian.bachl@gmail.com> wrote: > > Yes, the default interface of WSL2 seems to use fq_codel: > > $ tc qdisc show dev eth0 > qdisc mq 0: root > qdisc fq_codel 0: parent :8 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :7 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :6 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :5 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn > qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn yay! Is there any sign that it is actually working as designed here (load it up with 16+ flows, see if you had drops or reschedules via tc -s qdisc show) > On Sat, Feb 25, 2023 at 11:07 PM Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: >> >> On Sat, Feb 25, 2023 at 12:54 PM Stephen Hemminger >> <stephen@networkplumber.org> wrote: >> > >> > On Sat, 25 Feb 2023 15:37:02 -0500 >> > Michael Richardson via Bloat <bloat@lists.bufferbloat.net> wrote: >> > >> > > Dave Taht via Bloat <bloat@lists.bufferbloat.net> wrote: >> > > > I so want to believe... I so want to believe... can anyone confirm? >> > > >> > > > https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/linux-msft-wsl-5.15.y/Microsoft/config-wsl >> > > >> > > But, AFAIK, WSL isn't a kernel. It's an implementation of the Linux ABI on >> > > top of Windows service(s). If you told me that they build some of it from >> > > actual Linux kernel sources, I'd believe you. (Rather like User-Mode-Linux) >> > > >> > > If you told me that they have a kernel that they build for when they actually >> > > spin up an actual VM (such as to run containers) that would also be unsurprising. >> > > >> > > > ... >> > > >> > > > CONFIG_NET_SCH_DEFAULT=y >> > > > CONFIG_DEFAULT_FQ_CODEL=y >> > > > # CONFIG_DEFAULT_PFIFO_FAST is not set >> > > > CONFIG_DEFAULT_NET_SCH="fq_codel" >> > > >> > > It would be nice if the billion windows desktops started doing >> > > something better, but I don't think it will help observed latency. >> > > The real question is what the default schedule for the default Azure Linux VM >> > > is. >> > > >> > >> > I think WSL2 is actually a full Linux VM running in Hyper-V. >> >> Yes, it is. But it is kind of unknown how the underlying network >> interface is behaving in this case, as well as what the actual default >> qdisc is, and this not just a random gist. It was VERY exciting to see >> that gist go by... >> >> are there no windows users on this list? :/ We long ago should have >> pursued at least flent, and a TCP_INFO equivalent sampling method for >> windows. The closest thing we have for windows is the rust-based: >> https://github.com/Zoxc/crusader >> >> -- >> A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ >> Dave Täht CEO, TekLibre, LLC >> _______________________________________________ >> Bloat mailing list >> Bloat@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/bloat -- A pithy note on VOQs vs SQM: https://blog.cerowrt.org/post/juniper/ Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-02-27 23:36 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-02-25 18:54 [Bloat] WSL2 + fq_codel Dave Taht 2023-02-25 20:37 ` Michael Richardson 2023-02-25 20:54 ` Stephen Hemminger 2023-02-25 22:07 ` Dave Taht 2023-02-27 12:10 ` Maximilian Bachl 2023-02-27 23:32 ` Stephen Hemminger 2023-02-27 23:36 ` Dave Taht
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox