All of lore.kernel.org
 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: 48+ 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 ` [Intel-wired-lan] " 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   ` [Intel-wired-lan] " 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:11   ` [Intel-wired-lan] " David Miller
2020-04-28 20:15   ` Jonathan Corbet
2020-04-28 20:15     ` [Intel-wired-lan] " Jonathan Corbet
2020-04-28 21:40 ` David Miller
2020-04-28 21:40   ` [Intel-wired-lan] " 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.