X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Fhello_world.rst;h=c4db52c6a16b905e48ffba26f65634f6d43c39c4;hb=6cc51b1293ceac4a77d4bf7ac91a8bbd59e1f78c;hp=46f997a7dce3e1def7499446d747c40d21091b7e;hpb=f2fc83b40f06da6a6b2476005279ba52d4ce3c44;p=dpdk.git diff --git a/doc/guides/sample_app_ug/hello_world.rst b/doc/guides/sample_app_ug/hello_world.rst index 46f997a7dc..c4db52c6a1 100644 --- a/doc/guides/sample_app_ug/hello_world.rst +++ b/doc/guides/sample_app_ug/hello_world.rst @@ -21,7 +21,7 @@ To run the example in a linux environment: .. code-block:: console - $ ./build/helloworld -l 0-3 -n 4 + $ .//examples/dpdk-helloworld -l 0-3 -n 4 Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. @@ -37,16 +37,10 @@ EAL Initialization The first task is to initialize the Environment Abstraction Layer (EAL). This is done in the main() function using the following code: -.. code-block:: c - - int - - main(int argc, char **argv) - - { - ret = rte_eal_init(argc, argv); - if (ret < 0) - rte_panic("Cannot init EAL\n"); +.. literalinclude:: ../../../examples/helloworld/main.c + :language: c + :start-after: Initialization of Environment Abstraction Layer (EAL). 8< + :end-before: >8 End of initialization of Environment Abstraction Layer This call finishes the initialization process that was started before main() is called (in case of a Linux environment). The argc and argv arguments are provided to the rte_eal_init() function. @@ -59,36 +53,25 @@ Once the EAL is initialized, the application is ready to launch a function on an In this example, lcore_hello() is called on every available lcore. The following is the definition of the function: -.. code-block:: c - - static int - lcore_hello(__rte_unused void *arg) - { - unsigned lcore_id; - - lcore_id = rte_lcore_id(); - printf("hello from core %u\n", lcore_id); - return 0; - } +.. literalinclude:: ../../../examples/helloworld/main.c + :language: c + :start-after: Launch a function on lcore. 8< + :end-before: >8 End of launching function on lcore. The code that launches the function on each lcore is as follows: -.. code-block:: c - - /* call lcore_hello() on every slave lcore */ - - RTE_LCORE_FOREACH_SLAVE(lcore_id) { - rte_eal_remote_launch(lcore_hello, NULL, lcore_id); - } - - /* call it on master lcore too */ - - lcore_hello(NULL); +.. literalinclude:: ../../../examples/helloworld/main.c + :language: c + :start-after: Launches the function on each lcore. 8< + :end-before: >8 End of launching the function on each lcore. + :dedent: 1 The following code is equivalent and simpler: -.. code-block:: c - - rte_eal_mp_remote_launch(lcore_hello, NULL, CALL_MASTER); +.. literalinclude:: ../../../examples/helloworld/main.c + :language: c + :start-after: Simpler equivalent. 8< + :end-before: >8 End of simpler equivalent. + :dedent: 2 Refer to the *DPDK API Reference* for detailed information on the rte_eal_mp_remote_launch() function.