X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=docs%2Faboutvpp%2Fscalar-vs-vector-packet-processing.rst;fp=docs%2Fwhatisvpp%2Fscalar-vs-vector-packet-processing.rst;h=173efecebc51bfcfbd9fe15328e89be2560a1303;hb=9ad39c026c8a3c945a7003c4aa4f5cb1d4c80160;hp=ffa54a3f30644780647d067f18636fd83712adc0;hpb=f47122e07e1ecd0151902a3cabe46c60a99bee8e;p=vpp.git diff --git a/docs/whatisvpp/scalar-vs-vector-packet-processing.rst b/docs/aboutvpp/scalar-vs-vector-packet-processing.rst similarity index 97% rename from docs/whatisvpp/scalar-vs-vector-packet-processing.rst rename to docs/aboutvpp/scalar-vs-vector-packet-processing.rst index ffa54a3f306..173efecebc5 100644 --- a/docs/whatisvpp/scalar-vs-vector-packet-processing.rst +++ b/docs/aboutvpp/scalar-vs-vector-packet-processing.rst @@ -19,7 +19,7 @@ time: an interrupt handling function takes a single packet from a Network Interface, and processes it through a set of functions: fooA calls fooB calls fooC and so on. -.. code-block:: none +.. code-block:: none +---> fooA(packet1) +---> fooB(packet1) +---> fooC(packet1) +---> fooA(packet2) +---> fooB(packet2) +---> fooC(packet2) @@ -45,14 +45,14 @@ handling function takes the vector of packets from a Network Interface, and processes the vector through a set of functions: fooA calls fooB calls fooC and so on. -.. code-block:: none +.. code-block:: none +---> fooA([packet1, +---> fooB([packet1, +---> fooC([packet1, +---> packet2, packet2, packet2, ... ... ... packet256]) packet256]) packet256]) -This approach fixes: +This approach fixes: * The I-cache thrashing problem described above, by amortizing the cost of I-cache loads across multiple packets.