linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Linux Doc Mailing List <linux-doc@vger.kernel.org>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org
Subject: [PATCH 26/38] docs: networking: convert gen_stats.txt to ReST
Date: Tue, 28 Apr 2020 00:01:41 +0200	[thread overview]
Message-ID: <1ac3aa71bea21f7a157cf8ca383afaeebe1012fd.1588024424.git.mchehab+huawei@kernel.org> (raw)
In-Reply-To: <cover.1588024424.git.mchehab+huawei@kernel.org>

- add SPDX header;
- mark code blocks and literals as such;
- mark tables as such;
- mark lists as such;
- adjust identation, whitespaces and blank lines;
- add to networking/index.rst.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../{gen_stats.txt => gen_stats.rst}          | 98 ++++++++++---------
 Documentation/networking/index.rst            |  1 +
 net/core/gen_stats.c                          |  2 +-
 3 files changed, 56 insertions(+), 45 deletions(-)
 rename Documentation/networking/{gen_stats.txt => gen_stats.rst} (60%)

diff --git a/Documentation/networking/gen_stats.txt b/Documentation/networking/gen_stats.rst
similarity index 60%
rename from Documentation/networking/gen_stats.txt
rename to Documentation/networking/gen_stats.rst
index 179b18ce45ff..595a83b9a61b 100644
--- a/Documentation/networking/gen_stats.txt
+++ b/Documentation/networking/gen_stats.rst
@@ -1,67 +1,76 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+===============================================
 Generic networking statistics for netlink users
-======================================================================
+===============================================
 
 Statistic counters are grouped into structs:
 
+==================== ===================== =====================
 Struct               TLV type              Description
-----------------------------------------------------------------------
+==================== ===================== =====================
 gnet_stats_basic     TCA_STATS_BASIC       Basic statistics
 gnet_stats_rate_est  TCA_STATS_RATE_EST    Rate estimator
 gnet_stats_queue     TCA_STATS_QUEUE       Queue statistics
 none                 TCA_STATS_APP         Application specific
+==================== ===================== =====================
 
 
 Collecting:
 -----------
 
-Declare the statistic structs you need:
-struct mystruct {
-	struct gnet_stats_basic	bstats;
-	struct gnet_stats_queue	qstats;
-	...
-};
+Declare the statistic structs you need::
 
-Update statistics, in dequeue() methods only, (while owning qdisc->running)
-mystruct->tstats.packet++;
-mystruct->qstats.backlog += skb->pkt_len;
+	struct mystruct {
+		struct gnet_stats_basic	bstats;
+		struct gnet_stats_queue	qstats;
+		...
+	};
+
+Update statistics, in dequeue() methods only, (while owning qdisc->running)::
+
+	mystruct->tstats.packet++;
+	mystruct->qstats.backlog += skb->pkt_len;
 
 
 Export to userspace (Dump):
 ---------------------------
 
-my_dumping_routine(struct sk_buff *skb, ...)
-{
-	struct gnet_dump dump;
+::
 
-	if (gnet_stats_start_copy(skb, TCA_STATS2, &mystruct->lock, &dump,
-				  TCA_PAD) < 0)
-		goto rtattr_failure;
+    my_dumping_routine(struct sk_buff *skb, ...)
+    {
+	    struct gnet_dump dump;
 
-	if (gnet_stats_copy_basic(&dump, &mystruct->bstats) < 0 ||
-	    gnet_stats_copy_queue(&dump, &mystruct->qstats) < 0 ||
-		gnet_stats_copy_app(&dump, &xstats, sizeof(xstats)) < 0)
-		goto rtattr_failure;
+	    if (gnet_stats_start_copy(skb, TCA_STATS2, &mystruct->lock, &dump,
+				    TCA_PAD) < 0)
+		    goto rtattr_failure;
 
-	if (gnet_stats_finish_copy(&dump) < 0)
-		goto rtattr_failure;
-	...
-}
+	    if (gnet_stats_copy_basic(&dump, &mystruct->bstats) < 0 ||
+		gnet_stats_copy_queue(&dump, &mystruct->qstats) < 0 ||
+		    gnet_stats_copy_app(&dump, &xstats, sizeof(xstats)) < 0)
+		    goto rtattr_failure;
+
+	    if (gnet_stats_finish_copy(&dump) < 0)
+		    goto rtattr_failure;
+	    ...
+    }
 
 TCA_STATS/TCA_XSTATS backward compatibility:
 --------------------------------------------
 
 Prior users of struct tc_stats and xstats can maintain backward
 compatibility by calling the compat wrappers to keep providing the
-existing TLV types.
+existing TLV types::
 
-my_dumping_routine(struct sk_buff *skb, ...)
-{
-    if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS,
-				     TCA_XSTATS, &mystruct->lock, &dump,
-				     TCA_PAD) < 0)
-		goto rtattr_failure;
-	...
-}
+    my_dumping_routine(struct sk_buff *skb, ...)
+    {
+	if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS,
+					TCA_XSTATS, &mystruct->lock, &dump,
+					TCA_PAD) < 0)
+		    goto rtattr_failure;
+	    ...
+    }
 
 A struct tc_stats will be filled out during gnet_stats_copy_* calls
 and appended to the skb. TCA_XSTATS is provided if gnet_stats_copy_app
@@ -77,7 +86,7 @@ are responsible for making sure that the lock is initialized.
 
 
 Rate Estimator:
---------------
+---------------
 
 0) Prepare an estimator attribute. Most likely this would be in user
    space. The value of this TLV should contain a tc_estimator structure.
@@ -92,18 +101,19 @@ Rate Estimator:
    TCA_RATE to your code in the kernel.
 
 In the kernel when setting up:
+
 1) make sure you have basic stats and rate stats setup first.
 2) make sure you have initialized stats lock that is used to setup such
    stats.
-3) Now initialize a new estimator:
+3) Now initialize a new estimator::
 
-   int ret = gen_new_estimator(my_basicstats,my_rate_est_stats,
-       mystats_lock, attr_with_tcestimator_struct);
+    int ret = gen_new_estimator(my_basicstats,my_rate_est_stats,
+	mystats_lock, attr_with_tcestimator_struct);
 
-   if ret == 0
-       success
-   else
-       failed
+    if ret == 0
+	success
+    else
+	failed
 
 From now on, every time you dump my_rate_est_stats it will contain
 up-to-date info.
@@ -115,5 +125,5 @@ are still valid (i.e still exist) at the time of making this call.
 
 Authors:
 --------
-Thomas Graf <tgraf@suug.ch>
-Jamal Hadi Salim <hadi@cyberus.ca>
+- Thomas Graf <tgraf@suug.ch>
+- Jamal Hadi Salim <hadi@cyberus.ca>
diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst
index 42e556509e22..33afbb67f3fa 100644
--- a/Documentation/networking/index.rst
+++ b/Documentation/networking/index.rst
@@ -61,6 +61,7 @@ Contents:
    framerelay
    generic-hdlc
    generic_netlink
+   gen_stats
 
 .. only::  subproject and html
 
diff --git a/net/core/gen_stats.c b/net/core/gen_stats.c
index 1d653fbfcf52..e491b083b348 100644
--- a/net/core/gen_stats.c
+++ b/net/core/gen_stats.c
@@ -6,7 +6,7 @@
  *           Jamal Hadi Salim
  *           Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
- * See Documentation/networking/gen_stats.txt
+ * See Documentation/networking/gen_stats.rst
  */
 
 #include <linux/types.h>
-- 
2.25.4


  parent reply	other threads:[~2020-04-27 22:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-27 22:01 [PATCH 00/38] net: manually convert files to ReST format - part 1 Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 01/38] docs: networking: convert caif files to ReST Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 02/38] docs: networking: convert 6pack.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 03/38] docs: networking: convert altera_tse.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 04/38] docs: networking: convert arcnet-hardware.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 05/38] docs: networking: convert arcnet.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 06/38] docs: networking: convert atm.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 07/38] docs: networking: convert ax25.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 08/38] docs: networking: convert baycom.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 09/38] docs: networking: convert bonding.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 10/38] docs: networking: convert cdc_mbim.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 11/38] docs: networking: convert cops.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 12/38] docs: networking: convert cxacru.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 13/38] docs: networking: convert dccp.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 14/38] docs: networking: convert dctcp.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 15/38] docs: networking: convert decnet.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 16/38] docs: networking: convert defza.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 17/38] docs: networking: convert dns_resolver.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 18/38] docs: networking: convert driver.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 19/38] docs: networking: convert eql.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 20/38] docs: networking: convert fib_trie.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 21/38] docs: networking: convert filter.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 22/38] docs: networking: convert fore200e.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 23/38] docs: networking: convert framerelay.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 24/38] docs: networking: convert generic-hdlc.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 25/38] docs: networking: convert generic_netlink.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` Mauro Carvalho Chehab [this message]
2020-04-27 22:01 ` [PATCH 27/38] docs: networking: convert gtp.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 28/38] docs: networking: convert hinic.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 29/38] docs: networking: convert ila.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 30/38] docs: networking: convert ipddp.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 31/38] docs: networking: convert ip_dynaddr.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 32/38] docs: networking: convert iphase.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 33/38] docs: networking: convert ipsec.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 34/38] docs: networking: convert ip-sysctl.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 35/38] docs: networking: convert ipv6.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 36/38] docs: networking: convert ipvlan.txt " Mauro Carvalho Chehab
2020-04-27 22:01 ` [PATCH 37/38] docs: networking: convert ipvs-sysctl.txt " Mauro Carvalho Chehab
2020-04-28  9:08   ` Simon Horman
2020-04-27 22:01 ` [PATCH 38/38] docs: networking: convert kcm.txt " Mauro Carvalho Chehab
2020-04-28 20:11 ` [PATCH 00/38] net: manually convert files to ReST format - part 1 David Miller
2020-04-28 20:15   ` Jonathan Corbet
2020-04-28 21:40 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1ac3aa71bea21f7a157cf8ca383afaeebe1012fd.1588024424.git.mchehab+huawei@kernel.org \
    --to=mchehab+huawei@kernel.org \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).