Changing qdisc algorithm sysctl and tc












0















What qdisc is controlled via the tc command versus sysctl net.core.default_qdisc? Consider



$ tc qdisc show dev eth2
qdisc mq 0: dev eth2 root

$ sysctl net.core.default_qdisc
net.core.default_qdisc = pfifo_fast


On this system, the default qdisc is set to pfifo_fast but the qdisc in use is mq (Multi-queue) after a reboot. It's rather obvious that they are not directly related, or at the least, not in a manner which makes sense "out of the box". This link about queuing in the Linux Network Stack makes it clear that tc qdisc ... applies to the Queue which sits between the IP Stack and the Driver Queue.



Can anyone disambiguate these two for me?










share|improve this question





























    0















    What qdisc is controlled via the tc command versus sysctl net.core.default_qdisc? Consider



    $ tc qdisc show dev eth2
    qdisc mq 0: dev eth2 root

    $ sysctl net.core.default_qdisc
    net.core.default_qdisc = pfifo_fast


    On this system, the default qdisc is set to pfifo_fast but the qdisc in use is mq (Multi-queue) after a reboot. It's rather obvious that they are not directly related, or at the least, not in a manner which makes sense "out of the box". This link about queuing in the Linux Network Stack makes it clear that tc qdisc ... applies to the Queue which sits between the IP Stack and the Driver Queue.



    Can anyone disambiguate these two for me?










    share|improve this question



























      0












      0








      0








      What qdisc is controlled via the tc command versus sysctl net.core.default_qdisc? Consider



      $ tc qdisc show dev eth2
      qdisc mq 0: dev eth2 root

      $ sysctl net.core.default_qdisc
      net.core.default_qdisc = pfifo_fast


      On this system, the default qdisc is set to pfifo_fast but the qdisc in use is mq (Multi-queue) after a reboot. It's rather obvious that they are not directly related, or at the least, not in a manner which makes sense "out of the box". This link about queuing in the Linux Network Stack makes it clear that tc qdisc ... applies to the Queue which sits between the IP Stack and the Driver Queue.



      Can anyone disambiguate these two for me?










      share|improve this question
















      What qdisc is controlled via the tc command versus sysctl net.core.default_qdisc? Consider



      $ tc qdisc show dev eth2
      qdisc mq 0: dev eth2 root

      $ sysctl net.core.default_qdisc
      net.core.default_qdisc = pfifo_fast


      On this system, the default qdisc is set to pfifo_fast but the qdisc in use is mq (Multi-queue) after a reboot. It's rather obvious that they are not directly related, or at the least, not in a manner which makes sense "out of the box". This link about queuing in the Linux Network Stack makes it clear that tc qdisc ... applies to the Queue which sits between the IP Stack and the Driver Queue.



      Can anyone disambiguate these two for me?







      networking kernel network-interface






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 12 '18 at 22:06









      Rui F Ribeiro

      39.9k1479135




      39.9k1479135










      asked Nov 12 '18 at 22:05









      Andrew FalangaAndrew Falanga

      249312




      249312






















          1 Answer
          1






          active

          oldest

          votes


















          0














          The multiqueue ("mq") scheduler enables the Linux kernel to support a feature called Receive-Side-Scaling (RSS) where the load for packet processing is distributed across multiple CPU cores.



          On my Ubuntu 18.04.1 Desktop system with net.core.default_qdisc set to pfifo_fast and I execute the following command:



          $ tc qdisc show dev eth0


          This is what is output:



          qdisc mq 0: root
          qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
          qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1


          The mq scheduler has configured two pfifo_fast queues on device eth0 by default.



          Hope this clears things up.






          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f481339%2fchanging-qdisc-algorithm-sysctl-and-tc%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            The multiqueue ("mq") scheduler enables the Linux kernel to support a feature called Receive-Side-Scaling (RSS) where the load for packet processing is distributed across multiple CPU cores.



            On my Ubuntu 18.04.1 Desktop system with net.core.default_qdisc set to pfifo_fast and I execute the following command:



            $ tc qdisc show dev eth0


            This is what is output:



            qdisc mq 0: root
            qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
            qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1


            The mq scheduler has configured two pfifo_fast queues on device eth0 by default.



            Hope this clears things up.






            share|improve this answer




























              0














              The multiqueue ("mq") scheduler enables the Linux kernel to support a feature called Receive-Side-Scaling (RSS) where the load for packet processing is distributed across multiple CPU cores.



              On my Ubuntu 18.04.1 Desktop system with net.core.default_qdisc set to pfifo_fast and I execute the following command:



              $ tc qdisc show dev eth0


              This is what is output:



              qdisc mq 0: root
              qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
              qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1


              The mq scheduler has configured two pfifo_fast queues on device eth0 by default.



              Hope this clears things up.






              share|improve this answer


























                0












                0








                0







                The multiqueue ("mq") scheduler enables the Linux kernel to support a feature called Receive-Side-Scaling (RSS) where the load for packet processing is distributed across multiple CPU cores.



                On my Ubuntu 18.04.1 Desktop system with net.core.default_qdisc set to pfifo_fast and I execute the following command:



                $ tc qdisc show dev eth0


                This is what is output:



                qdisc mq 0: root
                qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
                qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1


                The mq scheduler has configured two pfifo_fast queues on device eth0 by default.



                Hope this clears things up.






                share|improve this answer













                The multiqueue ("mq") scheduler enables the Linux kernel to support a feature called Receive-Side-Scaling (RSS) where the load for packet processing is distributed across multiple CPU cores.



                On my Ubuntu 18.04.1 Desktop system with net.core.default_qdisc set to pfifo_fast and I execute the following command:



                $ tc qdisc show dev eth0


                This is what is output:



                qdisc mq 0: root
                qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
                qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1


                The mq scheduler has configured two pfifo_fast queues on device eth0 by default.



                Hope this clears things up.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 28 at 1:50









                E. SmithE. Smith

                1




                1






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f481339%2fchanging-qdisc-algorithm-sysctl-and-tc%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                    is 'sed' thread safe

                    How to make a Squid Proxy server?