Message ID | 20210118155735.532663-2-jackmanb@google.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | BPF docs fixups | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for bpf-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | warning | 9 maintainers not CCed: yhs@fb.com kpsingh@kernel.org kuba@kernel.org john.fastabend@gmail.com netdev@vger.kernel.org andrii@kernel.org davem@davemloft.net kafai@fb.com songliubraving@fb.com |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 52 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Mon, Jan 18, 2021 at 4:59 PM Brendan Jackman <jackmanb@google.com> wrote: > > This fixues up the markup to fix a warning, be more consistent with s/fixues/fixes/ ? > use of monospace, and use the correct .rst syntax for <em> (* instead > of _). > > NB this conflicts with Lukas' patch at [1], which just fixes the > warning. The scope of this one is a little broader. > > [1] https://lore.kernel.org/bpf/CA+i-1C3cEXqxcXfD4sibQfx+dtmmzvOzruhk8J5pAw3g5v=KgA@mail.gmail.com/T/#t > As I wrote in my patch, I did minimal changes. Your bit more extensive changes make sense. I suggest dropping this comment above starting from NB and the link; it is not relevant for the history. You can of course move it below the "---"; so it is not picked up into the git history. Other than that: Reviewed-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > Signed-off-by: Brendan Jackman <jackmanb@google.com> > --- > Documentation/networking/filter.rst | 19 ++++++++++--------- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/Documentation/networking/filter.rst b/Documentation/networking/filter.rst > index f6d8f90e9a56..4c2bb4c6364d 100644 > --- a/Documentation/networking/filter.rst > +++ b/Documentation/networking/filter.rst > @@ -1048,12 +1048,12 @@ Unlike classic BPF instruction set, eBPF has generic load/store operations:: > Where size is one of: BPF_B or BPF_H or BPF_W or BPF_DW. > > It also includes atomic operations, which use the immediate field for extra > -encoding. > +encoding:: > > .imm = BPF_ADD, .code = BPF_ATOMIC | BPF_W | BPF_STX: lock xadd *(u32 *)(dst_reg + off16) += src_reg > .imm = BPF_ADD, .code = BPF_ATOMIC | BPF_DW | BPF_STX: lock xadd *(u64 *)(dst_reg + off16) += src_reg > > -The basic atomic operations supported are: > +The basic atomic operations supported are:: > > BPF_ADD > BPF_AND > @@ -1066,12 +1066,12 @@ memory location addresed by ``dst_reg + off`` is atomically modified, with > immediate, then these operations also overwrite ``src_reg`` with the > value that was in memory before it was modified. > > -The more special operations are: > +The more special operations are:: > > BPF_XCHG > > This atomically exchanges ``src_reg`` with the value addressed by ``dst_reg + > -off``. > +off``. :: > > BPF_CMPXCHG > > @@ -1081,18 +1081,19 @@ before is loaded back to ``R0``. > > Note that 1 and 2 byte atomic operations are not supported. > > -Except ``BPF_ADD`` _without_ ``BPF_FETCH`` (for legacy reasons), all 4 byte > +Except ``BPF_ADD`` *without* ``BPF_FETCH`` (for legacy reasons), all 4 byte > atomic operations require alu32 mode. Clang enables this mode by default in > architecture v3 (``-mcpu=v3``). For older versions it can be enabled with > ``-Xclang -target-feature -Xclang +alu32``. > > -You may encounter BPF_XADD - this is a legacy name for BPF_ATOMIC, referring to > -the exclusive-add operation encoded when the immediate field is zero. > +You may encounter ``BPF_XADD`` - this is a legacy name for ``BPF_ATOMIC``, > +referring to the exclusive-add operation encoded when the immediate field is > +zero. > > -eBPF has one 16-byte instruction: BPF_LD | BPF_DW | BPF_IMM which consists > +eBPF has one 16-byte instruction: ``BPF_LD | BPF_DW | BPF_IMM`` which consists > of two consecutive ``struct bpf_insn`` 8-byte blocks and interpreted as single > instruction that loads 64-bit immediate value into a dst_reg. > -Classic BPF has similar instruction: BPF_LD | BPF_W | BPF_IMM which loads > +Classic BPF has similar instruction: ``BPF_LD | BPF_W | BPF_IMM`` which loads > 32-bit immediate value into a register. > > eBPF verifier > -- > 2.30.0.284.gd98b1dd5eaa7-goog >
diff --git a/Documentation/networking/filter.rst b/Documentation/networking/filter.rst index f6d8f90e9a56..4c2bb4c6364d 100644 --- a/Documentation/networking/filter.rst +++ b/Documentation/networking/filter.rst @@ -1048,12 +1048,12 @@ Unlike classic BPF instruction set, eBPF has generic load/store operations:: Where size is one of: BPF_B or BPF_H or BPF_W or BPF_DW. It also includes atomic operations, which use the immediate field for extra -encoding. +encoding:: .imm = BPF_ADD, .code = BPF_ATOMIC | BPF_W | BPF_STX: lock xadd *(u32 *)(dst_reg + off16) += src_reg .imm = BPF_ADD, .code = BPF_ATOMIC | BPF_DW | BPF_STX: lock xadd *(u64 *)(dst_reg + off16) += src_reg -The basic atomic operations supported are: +The basic atomic operations supported are:: BPF_ADD BPF_AND @@ -1066,12 +1066,12 @@ memory location addresed by ``dst_reg + off`` is atomically modified, with immediate, then these operations also overwrite ``src_reg`` with the value that was in memory before it was modified. -The more special operations are: +The more special operations are:: BPF_XCHG This atomically exchanges ``src_reg`` with the value addressed by ``dst_reg + -off``. +off``. :: BPF_CMPXCHG @@ -1081,18 +1081,19 @@ before is loaded back to ``R0``. Note that 1 and 2 byte atomic operations are not supported. -Except ``BPF_ADD`` _without_ ``BPF_FETCH`` (for legacy reasons), all 4 byte +Except ``BPF_ADD`` *without* ``BPF_FETCH`` (for legacy reasons), all 4 byte atomic operations require alu32 mode. Clang enables this mode by default in architecture v3 (``-mcpu=v3``). For older versions it can be enabled with ``-Xclang -target-feature -Xclang +alu32``. -You may encounter BPF_XADD - this is a legacy name for BPF_ATOMIC, referring to -the exclusive-add operation encoded when the immediate field is zero. +You may encounter ``BPF_XADD`` - this is a legacy name for ``BPF_ATOMIC``, +referring to the exclusive-add operation encoded when the immediate field is +zero. -eBPF has one 16-byte instruction: BPF_LD | BPF_DW | BPF_IMM which consists +eBPF has one 16-byte instruction: ``BPF_LD | BPF_DW | BPF_IMM`` which consists of two consecutive ``struct bpf_insn`` 8-byte blocks and interpreted as single instruction that loads 64-bit immediate value into a dst_reg. -Classic BPF has similar instruction: BPF_LD | BPF_W | BPF_IMM which loads +Classic BPF has similar instruction: ``BPF_LD | BPF_W | BPF_IMM`` which loads 32-bit immediate value into a register. eBPF verifier
This fixues up the markup to fix a warning, be more consistent with use of monospace, and use the correct .rst syntax for <em> (* instead of _). NB this conflicts with Lukas' patch at [1], which just fixes the warning. The scope of this one is a little broader. [1] https://lore.kernel.org/bpf/CA+i-1C3cEXqxcXfD4sibQfx+dtmmzvOzruhk8J5pAw3g5v=KgA@mail.gmail.com/T/#t Signed-off-by: Brendan Jackman <jackmanb@google.com> --- Documentation/networking/filter.rst | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)