<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include/net/pie.h, branch v6.12.80</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>pie: fix kernel-doc notation warning</title>
<updated>2023-07-15T03:39:30+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2023-07-14T04:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=d1cca974548d76e0fa8b6761d25f7b47376a3780'/>
<id>d1cca974548d76e0fa8b6761d25f7b47376a3780</id>
<content type='text'>
Spell a struct member's name correctly to prevent a kernel-doc
warning.

pie.h:38: warning: Function parameter or member 'tupdate' not described in 'pie_params'

Fixes: b42a3d7c7cff ("pie: improve comments and commenting style")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Cc: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Cc: "Mohit P. Tahiliani" &lt;tahiliani@nitk.edu.in&gt;
Cc: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Cc: Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;
Cc: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Link: https://lore.kernel.org/r/20230714045127.18752-9-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Spell a struct member's name correctly to prevent a kernel-doc
warning.

pie.h:38: warning: Function parameter or member 'tupdate' not described in 'pie_params'

Fixes: b42a3d7c7cff ("pie: improve comments and commenting style")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Cc: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Cc: "Mohit P. Tahiliani" &lt;tahiliani@nitk.edu.in&gt;
Cc: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Cc: Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;
Cc: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Link: https://lore.kernel.org/r/20230714045127.18752-9-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: realign comment</title>
<updated>2020-03-04T21:25:55+00:00</updated>
<author>
<name>Leslie Monis</name>
<email>lesliemonis@gmail.com</email>
</author>
<published>2020-03-04T18:56:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=5c5840e4b9684b9c82c068c85f136205dedd9435'/>
<id>5c5840e4b9684b9c82c068c85f136205dedd9435</id>
<content type='text'>
Realign a comment after the change introduced by the
previous patch.

Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Realign a comment after the change introduced by the
previous patch.

Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: remove pie_vars-&gt;accu_prob_overflows</title>
<updated>2020-03-04T21:25:55+00:00</updated>
<author>
<name>Leslie Monis</name>
<email>lesliemonis@gmail.com</email>
</author>
<published>2020-03-04T18:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=105e808c1da2a2827a4a374ae6e3003249729eec'/>
<id>105e808c1da2a2827a4a374ae6e3003249729eec</id>
<content type='text'>
The variable pie_vars-&gt;accu_prob is used as an accumulator for
probability values. Since probabilty values are scaled using the
MAX_PROB macro denoting (2^64 - 1), pie_vars-&gt;accu_prob is
likely to overflow as it is of type u64.

The variable pie_vars-&gt;accu_prob_overflows counts the number of
times the variable pie_vars-&gt;accu_prob overflows.

The MAX_PROB macro needs to be equal to at least (2^39 - 1) in
order to do precise calculations without any underflow. Thus
MAX_PROB can be reduced to (2^56 - 1) without affecting the
precision in calculations drastically. Doing so will eliminate
the need for the variable pie_vars-&gt;accu_prob_overflows as the
variable pie_vars-&gt;accu_prob will never overflow.

Removing the variable pie_vars-&gt;accu_prob_overflows also reduces
the size of the structure pie_vars to exactly 64 bytes.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The variable pie_vars-&gt;accu_prob is used as an accumulator for
probability values. Since probabilty values are scaled using the
MAX_PROB macro denoting (2^64 - 1), pie_vars-&gt;accu_prob is
likely to overflow as it is of type u64.

The variable pie_vars-&gt;accu_prob_overflows counts the number of
times the variable pie_vars-&gt;accu_prob overflows.

The MAX_PROB macro needs to be equal to at least (2^39 - 1) in
order to do precise calculations without any underflow. Thus
MAX_PROB can be reduced to (2^56 - 1) without affecting the
precision in calculations drastically. Doing so will eliminate
the need for the variable pie_vars-&gt;accu_prob_overflows as the
variable pie_vars-&gt;accu_prob will never overflow.

Removing the variable pie_vars-&gt;accu_prob_overflows also reduces
the size of the structure pie_vars to exactly 64 bytes.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: use term backlog instead of qlen</title>
<updated>2020-03-04T21:25:55+00:00</updated>
<author>
<name>Leslie Monis</name>
<email>lesliemonis@gmail.com</email>
</author>
<published>2020-03-04T18:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=90baeb9dd2656dd9fa0a66f338f22236be96e69f'/>
<id>90baeb9dd2656dd9fa0a66f338f22236be96e69f</id>
<content type='text'>
Remove ambiguity by using the term backlog instead of qlen when
representing the queue length in bytes.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove ambiguity by using the term backlog instead of qlen when
representing the queue length in bytes.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: sched: add Flow Queue PIE packet scheduler</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=ec97ecf1ebe485a17cd8395a5f35e6b80b57665a'/>
<id>ec97ecf1ebe485a17cd8395a5f35e6b80b57665a</id>
<content type='text'>
Principles:
  - Packets are classified on flows.
  - This is a Stochastic model (as we use a hash, several flows might
                                be hashed to the same slot)
  - Each flow has a PIE managed queue.
  - Flows are linked onto two (Round Robin) lists,
    so that new flows have priority on old ones.
  - For a given flow, packets are not reordered.
  - Drops during enqueue only.
  - ECN capability is off by default.
  - ECN threshold (if ECN is enabled) is at 10% by default.
  - Uses timestamps to calculate queue delay by default.

Usage:
tc qdisc ... fq_pie [ limit PACKETS ] [ flows NUMBER ]
                    [ target TIME ] [ tupdate TIME ]
                    [ alpha NUMBER ] [ beta NUMBER ]
                    [ quantum BYTES ] [ memory_limit BYTES ]
                    [ ecnprob PERCENTAGE ] [ [no]ecn ]
                    [ [no]bytemode ] [ [no_]dq_rate_estimator ]

defaults:
  limit: 10240 packets, flows: 1024
  target: 15 ms, tupdate: 15 ms (in jiffies)
  alpha: 1/8, beta : 5/4
  quantum: device MTU, memory_limit: 32 Mb
  ecnprob: 10%, ecn: off
  bytemode: off, dq_rate_estimator: off

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Sachin D. Patil &lt;sdp.sachin@gmail.com&gt;
Signed-off-by: V. Saicharan &lt;vsaicharan1998@gmail.com&gt;
Signed-off-by: Mohit Bhasi &lt;mohitbhasi1998@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Principles:
  - Packets are classified on flows.
  - This is a Stochastic model (as we use a hash, several flows might
                                be hashed to the same slot)
  - Each flow has a PIE managed queue.
  - Flows are linked onto two (Round Robin) lists,
    so that new flows have priority on old ones.
  - For a given flow, packets are not reordered.
  - Drops during enqueue only.
  - ECN capability is off by default.
  - ECN threshold (if ECN is enabled) is at 10% by default.
  - Uses timestamps to calculate queue delay by default.

Usage:
tc qdisc ... fq_pie [ limit PACKETS ] [ flows NUMBER ]
                    [ target TIME ] [ tupdate TIME ]
                    [ alpha NUMBER ] [ beta NUMBER ]
                    [ quantum BYTES ] [ memory_limit BYTES ]
                    [ ecnprob PERCENTAGE ] [ [no]ecn ]
                    [ [no]bytemode ] [ [no_]dq_rate_estimator ]

defaults:
  limit: 10240 packets, flows: 1024
  target: 15 ms, tupdate: 15 ms (in jiffies)
  alpha: 1/8, beta : 5/4
  quantum: device MTU, memory_limit: 32 Mb
  ecnprob: 10%, ecn: off
  bytemode: off, dq_rate_estimator: off

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Sachin D. Patil &lt;sdp.sachin@gmail.com&gt;
Signed-off-by: V. Saicharan &lt;vsaicharan1998@gmail.com&gt;
Signed-off-by: Mohit Bhasi &lt;mohitbhasi1998@gmail.com&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: sched: pie: export symbols to be reused by FQ-PIE</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=5205ea00cda1ac23cebfb97dfccca84722d58dfe'/>
<id>5205ea00cda1ac23cebfb97dfccca84722d58dfe</id>
<content type='text'>
This patch makes the drop_early(), calculate_probability() and
pie_process_dequeue() functions generic enough to be used by
both PIE and FQ-PIE (to be added in a future commit). The major
change here is in the way the functions take in arguments. This
patch exports these functions and makes FQ-PIE dependent on
sch_pie.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch makes the drop_early(), calculate_probability() and
pie_process_dequeue() functions generic enough to be used by
both PIE and FQ-PIE (to be added in a future commit). The major
change here is in the way the functions take in arguments. This
patch exports these functions and makes FQ-PIE dependent on
sch_pie.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: improve comments and commenting style</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b42a3d7c7cfff3555d7057c20dbbe57fe75d77c0'/>
<id>b42a3d7c7cfff3555d7057c20dbbe57fe75d77c0</id>
<content type='text'>
Improve the comments along with the commenting style used to
describe the members of the structures and their initial values
in the init functions.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Improve the comments along with the commenting style used to
describe the members of the structures and their initial values
in the init functions.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: rearrange structure members and their initializations</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2dfb1952a9a1fde0b515f58605c11902e69415bf'/>
<id>2dfb1952a9a1fde0b515f58605c11902e69415bf</id>
<content type='text'>
Rearrange the members of the structure such that closely
referenced members appear together and/or fit in the same
cacheline. Also, change the order of their initializations to
match the order in which they appear in the structure.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rearrange the members of the structure such that closely
referenced members appear together and/or fit in the same
cacheline. Also, change the order of their initializations to
match the order in which they appear in the structure.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: use u8 instead of bool in pie_vars</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=1dbfc5e071db3f5acc3c7c87a564bf57b838cf49'/>
<id>1dbfc5e071db3f5acc3c7c87a564bf57b838cf49</id>
<content type='text'>
Linux best practice recommends using u8 for true/false values in
structures.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux best practice recommends using u8 for true/false values in
structures.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pie: rearrange macros in order of length</title>
<updated>2020-01-23T10:38:31+00:00</updated>
<author>
<name>Mohit P. Tahiliani</name>
<email>tahiliani@nitk.edu.in</email>
</author>
<published>2020-01-22T18:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=cf4eeee5ff56180b525bfb6a204071216ca4000a'/>
<id>cf4eeee5ff56180b525bfb6a204071216ca4000a</id>
<content type='text'>
Rearrange macros in order of length and align the values to
improve readability.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rearrange macros in order of length and align the values to
improve readability.

Signed-off-by: Mohit P. Tahiliani &lt;tahiliani@nitk.edu.in&gt;
Signed-off-by: Leslie Monis &lt;lesliemonis@gmail.com&gt;
Signed-off-by: Gautam Ramakrishnan &lt;gautamramk@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
