All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] docs: networking: convert DIM to RST
@ 2020-04-09 17:57 Jakub Kicinski
  2020-04-09 19:17 ` Randy Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2020-04-09 17:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, kernel-team, rdunlap, talgi, leon, jacob.e.keller,
	Jakub Kicinski

Convert the Dynamic Interrupt Moderation doc to RST and
use the RST features like syntax highlight, function and
structure documentation, enumerations, table of contents.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 Documentation/networking/index.rst            |   1 +
 .../networking/{net_dim.txt => net_dim.rst}   | 106 +++++++++---------
 MAINTAINERS                                   |   1 +
 3 files changed, 58 insertions(+), 50 deletions(-)
 rename Documentation/networking/{net_dim.txt => net_dim.rst} (75%)

diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst
index 50133d9761c9..6538ede29661 100644
--- a/Documentation/networking/index.rst
+++ b/Documentation/networking/index.rst
@@ -22,6 +22,7 @@ Linux Networking Documentation
    z8530book
    msg_zerocopy
    failover
+   net_dim
    net_failover
    phy
    sfp-phylink
diff --git a/Documentation/networking/net_dim.txt b/Documentation/networking/net_dim.rst
similarity index 75%
rename from Documentation/networking/net_dim.txt
rename to Documentation/networking/net_dim.rst
index 9bdb7d5a3ba3..935b260b6566 100644
--- a/Documentation/networking/net_dim.txt
+++ b/Documentation/networking/net_dim.rst
@@ -1,28 +1,23 @@
+======================================================
 Net DIM - Generic Network Dynamic Interrupt Moderation
 ======================================================
 
-Author:
-	Tal Gilboa <talgi@mellanox.com>
-
+:Author: Tal Gilboa <talgi@mellanox.com>
 
 Contents
-=========
+========
 
-- Assumptions
-- Introduction
-- The Net DIM Algorithm
-- Registering a Network Device to DIM
-- Example
+.. contents:: :local:
 
-Part 0: Assumptions
-======================
+Assumptions
+===========
 
 This document assumes the reader has basic knowledge in network drivers
 and in general interrupt moderation.
 
 
-Part I: Introduction
-======================
+Introduction
+============
 
 Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the
 interrupt moderation configuration of a channel in order to optimize packet
@@ -41,14 +36,15 @@ number of wanted packets per event. The Net DIM algorithm ascribes importance to
 increase bandwidth over reducing interrupt rate.
 
 
-Part II: The Net DIM Algorithm
-===============================
+Net DIM Algorithm
+=================
 
 Each iteration of the Net DIM algorithm follows these steps:
-1. Calculates new data sample.
-2. Compares it to previous sample.
-3. Makes a decision - suggests interrupt moderation configuration fields.
-4. Applies a schedule work function, which applies suggested configuration.
+
+#. Calculates new data sample.
+#. Compares it to previous sample.
+#. Makes a decision - suggests interrupt moderation configuration fields.
+#. Applies a schedule work function, which applies suggested configuration.
 
 The first two steps are straightforward, both the new and the previous data are
 supplied by the driver registered to Net DIM. The previous data is the new data
@@ -89,30 +85,40 @@ manoeuvre as it may provide partial data or ignore the algorithm suggestion
 under some conditions.
 
 
-Part III: Registering a Network Device to DIM
-==============================================
+Registering a Network Device to DIM
+===================================
+
+Net DIM API exposes the main function :c:func:`net_dim`.
+
+.. c:function:: void net_dim( struct dim *dim, struct dim_sample end_sample )
 
-Net DIM API exposes the main function net_dim(struct dim *dim,
-struct dim_sample end_sample). This function is the entry point to the Net
+This function is the entry point to the Net
 DIM algorithm and has to be called every time the driver would like to check if
 it should change interrupt moderation parameters. The driver should provide two
-data structures: struct dim and struct dim_sample. Struct dim
-describes the state of DIM for a specific object (RX queue, TX queue,
-other queues, etc.). This includes the current selected profile, previous data
-samples, the callback function provided by the driver and more.
-Struct dim_sample describes a data sample, which will be compared to the
-data sample stored in struct dim in order to decide on the algorithm's next
-step. The sample should include bytes, packets and interrupts, measured by
-the driver.
+data structures:
+
+.. c:type:: struct dim
+
+  Describes the state of DIM for a specific object (RX queue, TX queue,
+  other queues, etc.). This includes the current selected profile, previous
+  data samples, the callback function provided by the driver and more.
+
+.. c:type:: struct dim_sample
+
+  Describes a data sample, which will be compared to the data sample
+  stored in :c:type:`struct dim <dim>` in order to decide on the algorithm's next step.
+  The sample should include bytes, packets and interrupts, measured by
+  the driver.
 
 In order to use Net DIM from a networking driver, the driver needs to call the
 main net_dim() function. The recommended method is to call net_dim() on each
 interrupt. Since Net DIM has a built-in moderation and it might decide to skip
 iterations under certain conditions, there is no need to moderate the net_dim()
 calls as well. As mentioned above, the driver needs to provide an object of type
-struct dim to the net_dim() function call. It is advised for each entity
-using Net DIM to hold a struct dim as part of its data structure and use it
-as the main Net DIM API object. The struct dim_sample should hold the latest
+:c:type:`struct dim <dim>` to the net_dim() function call. It is advised for
+each entity using Net DIM to hold a :c:type:`struct dim <dim>` as part of its
+data structure and use it as the main Net DIM API object.
+The :c:type:`struct dim_sample <dim_sample>` should hold the latest
 bytes, packets and interrupts count. No need to perform any calculations, just
 include the raw data.
 
@@ -124,19 +130,19 @@ the data flow. After the work is done, Net DIM algorithm needs to be set to
 the proper state in order to move to the next iteration.
 
 
-Part IV: Example
-=================
+Example
+=======
 
 The following code demonstrates how to register a driver to Net DIM. The actual
 usage is not complete but it should make the outline of the usage clear.
 
-my_driver.c:
+.. code-block:: c
 
-#include <linux/dim.h>
+  #include <linux/dim.h>
 
-/* Callback for net DIM to schedule on a decision to change moderation */
-void my_driver_do_dim_work(struct work_struct *work)
-{
+  /* Callback for net DIM to schedule on a decision to change moderation */
+  void my_driver_do_dim_work(struct work_struct *work)
+  {
 	/* Get struct dim from struct work_struct */
 	struct dim *dim = container_of(work, struct dim,
 				       work);
@@ -145,11 +151,11 @@ void my_driver_do_dim_work(struct work_struct *work)
 
 	/* Signal net DIM work is done and it should move to next iteration */
 	dim->state = DIM_START_MEASURE;
-}
+  }
 
-/* My driver's interrupt handler */
-int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
-{
+  /* My driver's interrupt handler */
+  int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
+  {
 	...
 	/* A struct to hold current measured data */
 	struct dim_sample dim_sample;
@@ -162,13 +168,13 @@ int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
 	/* Call net DIM */
 	net_dim(&my_entity->dim, dim_sample);
 	...
-}
+  }
 
-/* My entity's initialization function (my_entity was already allocated) */
-int my_driver_init_my_entity(struct my_driver_entity *my_entity, ...)
-{
+  /* My entity's initialization function (my_entity was already allocated) */
+  int my_driver_init_my_entity(struct my_driver_entity *my_entity, ...)
+  {
 	...
 	/* Initiate struct work_struct with my driver's callback function */
 	INIT_WORK(&my_entity->dim.work, my_driver_do_dim_work);
 	...
-}
+  }
diff --git a/MAINTAINERS b/MAINTAINERS
index 9271068bde63..46a3a01b54b9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5961,6 +5961,7 @@ M:	Tal Gilboa <talgi@mellanox.com>
 S:	Maintained
 F:	include/linux/dim.h
 F:	lib/dim/
+F:	Documentation/networking/net_dim.rst
 
 DZ DECSTATION DZ11 SERIAL DRIVER
 M:	"Maciej W. Rozycki" <macro@linux-mips.org>
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: convert DIM to RST
  2020-04-09 17:57 [PATCH net] docs: networking: convert DIM to RST Jakub Kicinski
@ 2020-04-09 19:17 ` Randy Dunlap
  2020-04-09 19:21   ` Jakub Kicinski
  2020-04-09 19:27   ` [PATCH net] docs: networking: add full DIM API Randy Dunlap
  0 siblings, 2 replies; 9+ messages in thread
From: Randy Dunlap @ 2020-04-09 19:17 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, kernel-team, talgi, leon, jacob.e.keller

On 4/9/20 10:57 AM, Jakub Kicinski wrote:
> Convert the Dynamic Interrupt Moderation doc to RST and
> use the RST features like syntax highlight, function and
> structure documentation, enumerations, table of contents.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Hi,

Tested-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>

Sorry I dropped the ball on this.

Thanks.

> ---
>  Documentation/networking/index.rst            |   1 +
>  .../networking/{net_dim.txt => net_dim.rst}   | 106 +++++++++---------
>  MAINTAINERS                                   |   1 +
>  3 files changed, 58 insertions(+), 50 deletions(-)
>  rename Documentation/networking/{net_dim.txt => net_dim.rst} (75%)
> 
> diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst
> index 50133d9761c9..6538ede29661 100644
> --- a/Documentation/networking/index.rst
> +++ b/Documentation/networking/index.rst
> @@ -22,6 +22,7 @@ Linux Networking Documentation
>     z8530book
>     msg_zerocopy
>     failover
> +   net_dim
>     net_failover
>     phy
>     sfp-phylink
> diff --git a/Documentation/networking/net_dim.txt b/Documentation/networking/net_dim.rst
> similarity index 75%
> rename from Documentation/networking/net_dim.txt
> rename to Documentation/networking/net_dim.rst
> index 9bdb7d5a3ba3..935b260b6566 100644
> --- a/Documentation/networking/net_dim.txt
> +++ b/Documentation/networking/net_dim.rst
> @@ -1,28 +1,23 @@
> +======================================================
>  Net DIM - Generic Network Dynamic Interrupt Moderation
>  ======================================================
>  
> -Author:
> -	Tal Gilboa <talgi@mellanox.com>
> -
> +:Author: Tal Gilboa <talgi@mellanox.com>
>  
>  Contents
> -=========
> +========
>  
> -- Assumptions
> -- Introduction
> -- The Net DIM Algorithm
> -- Registering a Network Device to DIM
> -- Example
> +.. contents:: :local:
>  
> -Part 0: Assumptions
> -======================
> +Assumptions
> +===========
>  
>  This document assumes the reader has basic knowledge in network drivers
>  and in general interrupt moderation.
>  
>  
> -Part I: Introduction
> -======================
> +Introduction
> +============
>  
>  Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the
>  interrupt moderation configuration of a channel in order to optimize packet
> @@ -41,14 +36,15 @@ number of wanted packets per event. The Net DIM algorithm ascribes importance to
>  increase bandwidth over reducing interrupt rate.
>  
>  
> -Part II: The Net DIM Algorithm
> -===============================
> +Net DIM Algorithm
> +=================
>  
>  Each iteration of the Net DIM algorithm follows these steps:
> -1. Calculates new data sample.
> -2. Compares it to previous sample.
> -3. Makes a decision - suggests interrupt moderation configuration fields.
> -4. Applies a schedule work function, which applies suggested configuration.
> +
> +#. Calculates new data sample.
> +#. Compares it to previous sample.
> +#. Makes a decision - suggests interrupt moderation configuration fields.
> +#. Applies a schedule work function, which applies suggested configuration.
>  
>  The first two steps are straightforward, both the new and the previous data are
>  supplied by the driver registered to Net DIM. The previous data is the new data
> @@ -89,30 +85,40 @@ manoeuvre as it may provide partial data or ignore the algorithm suggestion
>  under some conditions.
>  
>  
> -Part III: Registering a Network Device to DIM
> -==============================================
> +Registering a Network Device to DIM
> +===================================
> +
> +Net DIM API exposes the main function :c:func:`net_dim`.
> +
> +.. c:function:: void net_dim( struct dim *dim, struct dim_sample end_sample )
>  
> -Net DIM API exposes the main function net_dim(struct dim *dim,
> -struct dim_sample end_sample). This function is the entry point to the Net
> +This function is the entry point to the Net
>  DIM algorithm and has to be called every time the driver would like to check if
>  it should change interrupt moderation parameters. The driver should provide two
> -data structures: struct dim and struct dim_sample. Struct dim
> -describes the state of DIM for a specific object (RX queue, TX queue,
> -other queues, etc.). This includes the current selected profile, previous data
> -samples, the callback function provided by the driver and more.
> -Struct dim_sample describes a data sample, which will be compared to the
> -data sample stored in struct dim in order to decide on the algorithm's next
> -step. The sample should include bytes, packets and interrupts, measured by
> -the driver.
> +data structures:
> +
> +.. c:type:: struct dim
> +
> +  Describes the state of DIM for a specific object (RX queue, TX queue,
> +  other queues, etc.). This includes the current selected profile, previous
> +  data samples, the callback function provided by the driver and more.
> +
> +.. c:type:: struct dim_sample
> +
> +  Describes a data sample, which will be compared to the data sample
> +  stored in :c:type:`struct dim <dim>` in order to decide on the algorithm's next step.
> +  The sample should include bytes, packets and interrupts, measured by
> +  the driver.
>  
>  In order to use Net DIM from a networking driver, the driver needs to call the
>  main net_dim() function. The recommended method is to call net_dim() on each
>  interrupt. Since Net DIM has a built-in moderation and it might decide to skip
>  iterations under certain conditions, there is no need to moderate the net_dim()
>  calls as well. As mentioned above, the driver needs to provide an object of type
> -struct dim to the net_dim() function call. It is advised for each entity
> -using Net DIM to hold a struct dim as part of its data structure and use it
> -as the main Net DIM API object. The struct dim_sample should hold the latest
> +:c:type:`struct dim <dim>` to the net_dim() function call. It is advised for
> +each entity using Net DIM to hold a :c:type:`struct dim <dim>` as part of its
> +data structure and use it as the main Net DIM API object.
> +The :c:type:`struct dim_sample <dim_sample>` should hold the latest
>  bytes, packets and interrupts count. No need to perform any calculations, just
>  include the raw data.
>  
> @@ -124,19 +130,19 @@ the data flow. After the work is done, Net DIM algorithm needs to be set to
>  the proper state in order to move to the next iteration.
>  
>  
> -Part IV: Example
> -=================
> +Example
> +=======
>  
>  The following code demonstrates how to register a driver to Net DIM. The actual
>  usage is not complete but it should make the outline of the usage clear.
>  
> -my_driver.c:
> +.. code-block:: c
>  
> -#include <linux/dim.h>
> +  #include <linux/dim.h>
>  
> -/* Callback for net DIM to schedule on a decision to change moderation */
> -void my_driver_do_dim_work(struct work_struct *work)
> -{
> +  /* Callback for net DIM to schedule on a decision to change moderation */
> +  void my_driver_do_dim_work(struct work_struct *work)
> +  {
>  	/* Get struct dim from struct work_struct */
>  	struct dim *dim = container_of(work, struct dim,
>  				       work);
> @@ -145,11 +151,11 @@ void my_driver_do_dim_work(struct work_struct *work)
>  
>  	/* Signal net DIM work is done and it should move to next iteration */
>  	dim->state = DIM_START_MEASURE;
> -}
> +  }
>  
> -/* My driver's interrupt handler */
> -int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
> -{
> +  /* My driver's interrupt handler */
> +  int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
> +  {
>  	...
>  	/* A struct to hold current measured data */
>  	struct dim_sample dim_sample;
> @@ -162,13 +168,13 @@ int my_driver_handle_interrupt(struct my_driver_entity *my_entity, ...)
>  	/* Call net DIM */
>  	net_dim(&my_entity->dim, dim_sample);
>  	...
> -}
> +  }
>  
> -/* My entity's initialization function (my_entity was already allocated) */
> -int my_driver_init_my_entity(struct my_driver_entity *my_entity, ...)
> -{
> +  /* My entity's initialization function (my_entity was already allocated) */
> +  int my_driver_init_my_entity(struct my_driver_entity *my_entity, ...)
> +  {
>  	...
>  	/* Initiate struct work_struct with my driver's callback function */
>  	INIT_WORK(&my_entity->dim.work, my_driver_do_dim_work);
>  	...
> -}
> +  }
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9271068bde63..46a3a01b54b9 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -5961,6 +5961,7 @@ M:	Tal Gilboa <talgi@mellanox.com>
>  S:	Maintained
>  F:	include/linux/dim.h
>  F:	lib/dim/
> +F:	Documentation/networking/net_dim.rst
>  
>  DZ DECSTATION DZ11 SERIAL DRIVER
>  M:	"Maciej W. Rozycki" <macro@linux-mips.org>
> 


-- 
~Randy

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: convert DIM to RST
  2020-04-09 19:17 ` Randy Dunlap
@ 2020-04-09 19:21   ` Jakub Kicinski
  2020-04-09 19:27   ` [PATCH net] docs: networking: add full DIM API Randy Dunlap
  1 sibling, 0 replies; 9+ messages in thread
From: Jakub Kicinski @ 2020-04-09 19:21 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On Thu, 9 Apr 2020 12:17:52 -0700 Randy Dunlap wrote:
> On 4/9/20 10:57 AM, Jakub Kicinski wrote:
> > Convert the Dynamic Interrupt Moderation doc to RST and
> > use the RST features like syntax highlight, function and
> > structure documentation, enumerations, table of contents.
> > 
> > Signed-off-by: Jakub Kicinski <kuba@kernel.org>  
> 
> Hi,
> 
> Tested-by: Randy Dunlap <rdunlap@infradead.org>
> Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
> 
> Sorry I dropped the ball on this.

No worries at all! I had to read through this doc so I thought 
I'd convert it to RST at the same time. Thanks for the review!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH net] docs: networking: add full DIM API
  2020-04-09 19:17 ` Randy Dunlap
  2020-04-09 19:21   ` Jakub Kicinski
@ 2020-04-09 19:27   ` Randy Dunlap
  2020-04-09 19:42     ` Jakub Kicinski
  1 sibling, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2020-04-09 19:27 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, kernel-team, talgi, leon, jacob.e.keller

From: Randy Dunlap <rdunlap@infradead.org>

Add the full net DIM API to the net_dim.rst file.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: davem@davemloft.net
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, talgi@mellanox.com, leon@kernel.org, jacob.e.keller@intel.com
---
Applies on top of Jakub's patch: [PATCH net] docs: networking: convert DIM to RST

I do have patches similar to Jakub's patch, but I haven't sent them yet.
Anyway, the only significant difference it this small [optional] change.

 Documentation/networking/net_dim.rst |    6 ++++++
 1 file changed, 6 insertions(+)

--- linux-next-20200409.orig/Documentation/networking/net_dim.rst
+++ linux-next-20200409/Documentation/networking/net_dim.rst
@@ -178,3 +178,9 @@ usage is not complete but it should make
 	INIT_WORK(&my_entity->dim.work, my_driver_do_dim_work);
 	...
   }
+
+Dynamic Interrupt Moderation (DIM) library API
+==============================================
+
+.. kernel-doc:: include/linux/dim.h
+    :internal:


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: add full DIM API
  2020-04-09 19:27   ` [PATCH net] docs: networking: add full DIM API Randy Dunlap
@ 2020-04-09 19:42     ` Jakub Kicinski
  2020-04-09 20:06       ` Randy Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2020-04-09 19:42 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On Thu, 9 Apr 2020 12:27:17 -0700 Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
> 
> Add the full net DIM API to the net_dim.rst file.
> 
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: davem@davemloft.net
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: netdev@vger.kernel.org, talgi@mellanox.com, leon@kernel.org, jacob.e.keller@intel.com

Ah, very nice, I didn't know how to do that!

Do you reckon we should drop the .. c:function and .. c:type marking I
added? So that the mentions of net_dim and the structures point to the
kdoc?

Do you want to take best parts of both your and my versions and repost?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: add full DIM API
  2020-04-09 19:42     ` Jakub Kicinski
@ 2020-04-09 20:06       ` Randy Dunlap
  2020-04-09 20:18         ` Jakub Kicinski
  0 siblings, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2020-04-09 20:06 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On 4/9/20 12:42 PM, Jakub Kicinski wrote:
> On Thu, 9 Apr 2020 12:27:17 -0700 Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@infradead.org>
>>
>> Add the full net DIM API to the net_dim.rst file.
>>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: davem@davemloft.net
>> Cc: Jakub Kicinski <kuba@kernel.org>
>> Cc: netdev@vger.kernel.org, talgi@mellanox.com, leon@kernel.org, jacob.e.keller@intel.com
> 
> Ah, very nice, I didn't know how to do that!
> 
> Do you reckon we should drop the .. c:function and .. c:type marking I
> added? So that the mentions of net_dim and the structures point to the
> kdoc?

My understanding is that if functions have an ending (), then the c:function
is not needed/wanted.  I don't know about the c:type uses.

But there is some duplication that might be cleaned up some.

> Do you want to take best parts of both your and my versions and repost?

Not really. The part that was slowing me down is using git (for the
removed file), and you have that part done. :)

thanks.
-- 
~Randy


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: add full DIM API
  2020-04-09 20:06       ` Randy Dunlap
@ 2020-04-09 20:18         ` Jakub Kicinski
  2020-04-09 20:25           ` Randy Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2020-04-09 20:18 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On Thu, 9 Apr 2020 13:06:50 -0700 Randy Dunlap wrote:
> On 4/9/20 12:42 PM, Jakub Kicinski wrote:
> > On Thu, 9 Apr 2020 12:27:17 -0700 Randy Dunlap wrote:  
> >> From: Randy Dunlap <rdunlap@infradead.org>
> >>
> >> Add the full net DIM API to the net_dim.rst file.
> >>
> >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> >> Cc: davem@davemloft.net
> >> Cc: Jakub Kicinski <kuba@kernel.org>
> >> Cc: netdev@vger.kernel.org, talgi@mellanox.com, leon@kernel.org, jacob.e.keller@intel.com  
> > 
> > Ah, very nice, I didn't know how to do that!
> > 
> > Do you reckon we should drop the .. c:function and .. c:type marking I
> > added? So that the mentions of net_dim and the structures point to the
> > kdoc?  
> 
> My understanding is that if functions have an ending (), then the c:function
> is not needed/wanted.  I don't know about the c:type uses.
> 
> But there is some duplication that might be cleaned up some.

I think you're thinking about :c:func:, I was talking about ..
c:function which basically renders very similar entries to kdoc.

If you have the doc rendered check out what
networking/net_dim.html#c.dim takes us to right now.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: add full DIM API
  2020-04-09 20:18         ` Jakub Kicinski
@ 2020-04-09 20:25           ` Randy Dunlap
  2020-04-09 21:22             ` Jakub Kicinski
  0 siblings, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2020-04-09 20:25 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On 4/9/20 1:18 PM, Jakub Kicinski wrote:
> On Thu, 9 Apr 2020 13:06:50 -0700 Randy Dunlap wrote:
>> On 4/9/20 12:42 PM, Jakub Kicinski wrote:
>>> On Thu, 9 Apr 2020 12:27:17 -0700 Randy Dunlap wrote:  
>>>> From: Randy Dunlap <rdunlap@infradead.org>
>>>>
>>>> Add the full net DIM API to the net_dim.rst file.
>>>>
>>>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>>>> Cc: davem@davemloft.net
>>>> Cc: Jakub Kicinski <kuba@kernel.org>
>>>> Cc: netdev@vger.kernel.org, talgi@mellanox.com, leon@kernel.org, jacob.e.keller@intel.com  
>>>
>>> Ah, very nice, I didn't know how to do that!
>>>
>>> Do you reckon we should drop the .. c:function and .. c:type marking I
>>> added? So that the mentions of net_dim and the structures point to the
>>> kdoc?  
>>
>> My understanding is that if functions have an ending (), then the c:function
>> is not needed/wanted.  I don't know about the c:type uses.
>>
>> But there is some duplication that might be cleaned up some.
> 
> I think you're thinking about :c:func:, I was talking about ..
> c:function which basically renders very similar entries to kdoc.

Right.

> If you have the doc rendered check out what
> networking/net_dim.html#c.dim takes us to right now.

OK, I see that.

I don't object to those markings, but I would want to see the kernel-doc
structs etc.

thanks.
-- 
~Randy


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] docs: networking: add full DIM API
  2020-04-09 20:25           ` Randy Dunlap
@ 2020-04-09 21:22             ` Jakub Kicinski
  0 siblings, 0 replies; 9+ messages in thread
From: Jakub Kicinski @ 2020-04-09 21:22 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: davem, netdev, kernel-team, talgi, leon, jacob.e.keller

On Thu, 9 Apr 2020 13:25:51 -0700 Randy Dunlap wrote:
> > If you have the doc rendered check out what
> > networking/net_dim.html#c.dim takes us to right now.  
> 
> OK, I see that.
> 
> I don't object to those markings, but I would want to see the kernel-doc
> structs etc.

Okay, I sent a v2 of my patch and included yours in the series just for
ease of applying.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-04-09 21:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-09 17:57 [PATCH net] docs: networking: convert DIM to RST Jakub Kicinski
2020-04-09 19:17 ` Randy Dunlap
2020-04-09 19:21   ` Jakub Kicinski
2020-04-09 19:27   ` [PATCH net] docs: networking: add full DIM API Randy Dunlap
2020-04-09 19:42     ` Jakub Kicinski
2020-04-09 20:06       ` Randy Dunlap
2020-04-09 20:18         ` Jakub Kicinski
2020-04-09 20:25           ` Randy Dunlap
2020-04-09 21:22             ` Jakub Kicinski

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.