diff options
Diffstat (limited to 'docs/gettingstarted')
-rw-r--r-- | docs/gettingstarted/developers/gitreview.rst | 32 | ||||
-rw-r--r-- | docs/gettingstarted/developers/multiarch/nodefns.rst | 52 |
2 files changed, 44 insertions, 40 deletions
diff --git a/docs/gettingstarted/developers/gitreview.rst b/docs/gettingstarted/developers/gitreview.rst index e32d8c59991..a962d25e4fd 100644 --- a/docs/gettingstarted/developers/gitreview.rst +++ b/docs/gettingstarted/developers/gitreview.rst @@ -140,10 +140,24 @@ When you're done viewing or modifying a branch, get back to the master branch by $ git reset --hard origin/master $ git checkout master -Resolving a Conflict --------------------------------- +Patch Conflict Resolution +------------------------- -If a change has a conflict it should be resolved by entering: +Two different patch conflict scenarios arise from time to +time. Sometime after uploading a patch to https://gerrit.fd.io, the +gerrit UI may show a patch status of "Merge Conflict." + +Or, you may attempt to upload a new patch-set via "git review," only to +discover that the gerrit server won't allow the upload due to an upstream +merge conflict. + +In both cases, it's [usually] fairly simple to fix the problem. You +need to rebase the patch onto master/latest. Details vary from case to +case. + +Here's how to rebase a patch previously uploaded to the Gerrit server +which now has a merge conflict. In a fresh workspace cloned from +master/latest, do the following: .. code-block:: console @@ -154,5 +168,17 @@ If a change has a conflict it should be resolved by entering: $ git rebase --continue $ git review +In the upload-failure case, use caution: carefully **save your work** +before you do anything else! + +Rebase your patch and try again. Please **do not** re-download ["git +review -d"] the patch from the gerrit server...: + +.. code-block:: console + $ git rebase origin/master + while (conflicts) + <fix conflicts> + $ git rebase --continue + $ git review diff --git a/docs/gettingstarted/developers/multiarch/nodefns.rst b/docs/gettingstarted/developers/multiarch/nodefns.rst index ad68385d6c5..a43d40e301f 100644 --- a/docs/gettingstarted/developers/multiarch/nodefns.rst +++ b/docs/gettingstarted/developers/multiarch/nodefns.rst @@ -117,44 +117,22 @@ example, a bunch of functions with names of the form shows up with a name of the form "xxx_inline.isra.1", it's quite likely that the inline was declared "static inline" instead of "always_inline". -Add the required Makefile.am content ------------------------------------- +Modify CMakeLists.txt +--------------------- -If the component in question already sets a "multiversioning_sources" -variable, simply add the indicated .c file to the list. If not, add -the required boilerplate: +If the component in question already lists "MULTIARCH_SOURCES", simply +add the indicated .c file to the list. Otherwise, add as shown +below. Note that the added file "new_multiarch_node.c" should appear in +*both* SOURCES and MULTIARCH_SOURCES: :: - if CPU_X86_64 - sdp_multiversioning_sources = \ - sdp/node.c \ - sdp/sdp_slookup.c - - if CC_SUPPORTS_AVX2 - ############################################################### - # AVX2 - ############################################################### - libsdp_plugin_avx2_la_SOURCES = $(sdp_multiversioning_sources) - libsdp_plugin_avx2_la_CFLAGS = \ - $(AM_CFLAGS) @CPU_AVX2_FLAGS@ \ - -DCLIB_MARCH_VARIANT=avx2 - noinst_LTLIBRARIES += libsdp_plugin_avx2.la - sdp_plugin_la_LIBADD += libsdp_plugin_avx2.la - endif - - if CC_SUPPORTS_AVX512 - ############################################################### - # AVX512 - ############################################################### - libsdp_plugin_avx512_la_SOURCES = $(sdp_multiversioning_sources) - libsdp_plugin_avx512_la_CFLAGS = \ - $(AM_CFLAGS) @CPU_AVX512_FLAGS@ \ - -DCLIB_MARCH_VARIANT=avx512 - noinst_LTLIBRARIES += libsdp_plugin_avx512.la - sdp_plugin_la_LIBADD += libsdp_plugin_avx512.la - endif - endif - -A certain amount of cut-paste-modify is currently required. Hopefully -we'll manage to improve the scheme in the future. + add_vpp_plugin(myplugin + SOURCES + new_multiarch_node.c + ... + + MULTIARCH_SOURCES + new_ multiarch_node.c + ... + ) |