[DTrace-devel] [oracle/dtrace-utils] 44ed8c: Reunite dt_cg_subr_speculation() and its comment

Kris Van Hees noreply at github.com
Thu Mar 24 04:37:03 UTC 2022


  Branch: refs/heads/dev
  Home:   https://github.com/oracle/dtrace-utils
  Commit: 44ed8c9d4fd49b999969df9bd30a7a22e6e0ef11
      https://github.com/oracle/dtrace-utils/commit/44ed8c9d4fd49b999969df9bd30a7a22e6e0ef11
  Author: Eugene Loh <eugene.loh at oracle.com>
  Date:   2022-03-17 (Thu, 17 Mar 2022)

  Changed paths:
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  Reunite dt_cg_subr_speculation() and its comment

When patch 5f8c4107a "Add support for index() subroutine"
was applied, somehow the new function dt_cg_subr_index() was inserted
between dt_cg_subr_speculation() and the comment block describing (and
immediately preceding) it.  Subsequent patches only increased the
separation.  Move the comment block back to the function.

Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>


  Commit: 3750d711ef7638392228113e39b1d485cd429348
      https://github.com/oracle/dtrace-utils/commit/3750d711ef7638392228113e39b1d485cd429348
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_as.c
    M libdtrace/dt_dlibs.c

  Log Message:
  -----------
  Remove list of pre-populated BPF function symbols

The list of pre-defined BPF function symbols is no longer needed because
it gets populated by loading the BPF dlib.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 82b12dc9c0f0af0777275904928afe560cecb357
      https://github.com/oracle/dtrace-utils/commit/82b12dc9c0f0af0777275904928afe560cecb357
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_bpf.c
    M libdtrace/dt_cg.c
    M libdtrace/dt_dctx.h

  Log Message:
  -----------
  Consolidate offset and size calculations for dctx->mem content

Rather than duplicating expressions that calculate offsets and sizes of
components of the dctx->mem content, express them using macros.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 745419911555185d1c1b53f834c36bd0ae0f70bf
      https://github.com/oracle/dtrace-utils/commit/745419911555185d1c1b53f834c36bd0ae0f70bf
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_dis.c
    A test/unittest/disasm/tst.ann-strconst.r
    A test/unittest/disasm/tst.ann-strconst.sh

  Log Message:
  -----------
  Add disassembler annotations for string constants

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: a4cc12dd463b69586bb1bd7a5a984fa7e56da08b
      https://github.com/oracle/dtrace-utils/commit/a4cc12dd463b69586bb1bd7a5a984fa7e56da08b
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    A test/unittest/variables/tvar/tst.init-str.d

  Log Message:
  -----------
  Add test for default value of string type TLS variables

The default value of any unknown TLS variable is 0.  This means that
a TLS variable of type string will contain NULL.  This test verifies
that by detecting the invalid address fault on address 0x0.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: d3a0d87d5dafca396e4a911970d51d93acf90423
      https://github.com/oracle/dtrace-utils/commit/d3a0d87d5dafca396e4a911970d51d93acf90423
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_cg.c
    M libdtrace/dt_dctx.h
    M libdtrace/dt_prov_dtrace.c
    M test/unittest/codegen/tst.stack_layout.r

  Log Message:
  -----------
  Fix stack offsets for clause functions

Clause functions were reserving space on the stack for the DTrace
context even though they only store a pointer to the DTrace context
that is stored on the stack of the trampoline program.  This wasted
64 bytes (out of 512 bytes that are available).

This patch also provides some reworking of how reference is made to
members of dctx on the stack.  Both trampolines and functions now use
[reg + offset].

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 137a1f42cd13867d0521a24f12f4bcd6e8a1aa51
      https://github.com/oracle/dtrace-utils/commit/137a1f42cd13867d0521a24f12f4bcd6e8a1aa51
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_bpf.c
    M libdtrace/dt_ident.c
    M libdtrace/dt_impl.h

  Log Message:
  -----------
  Reflect that the dvars map is not just for TLS variable storage

The 'dvars' BPF map is used for all dynamic variable storage.  While TLS
variables are currently the only implemented type of dynamic variables,
associative array elements will use this same storage area once they are
fully implemented.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: f56058acb46badb7f2221f9b4ee089e92eb65584
      https://github.com/oracle/dtrace-utils/commit/f56058acb46badb7f2221f9b4ee089e92eb65584
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  Partial revert of 279d7fe8

Commit 279d7fe8 ("Handle @-type and ... for function arglists.") was a
bit too broad, causing arglists used for tuples to not update the index
in the identifier type list.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 530dc8761c59b88151440642d245c85eeb9f24dc
      https://github.com/oracle/dtrace-utils/commit/530dc8761c59b88151440642d245c85eeb9f24dc
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M bpf/Build
    A bpf/get_dvar.c
    R bpf/get_tvar.c

  Log Message:
  -----------
  Refactor get_tvar() into generic components

The TLS variable support function get_tvar() contained the machinery for
accessing a dynamic variable.  This is now refactored to make the TLS
key calculation and the dynamic variable retrieval separate functions so
they can be used in the associative array implementation.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 6dadee65e05299edfca52eaf6fd1e1760a98cce5
      https://github.com/oracle/dtrace-utils/commit/6dadee65e05299edfca52eaf6fd1e1760a98cce5
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_cg.c
    M libdtrace/dt_dctx.h
    M libdtrace/dt_prov_dtrace.c
    M test/unittest/codegen/tst.stack_layout.r
    M test/utils/print-stack-layout.c

  Log Message:
  -----------
  Add macro to access stack slots past the register spill area

The DT_TRAMP_SP(n) macro has been renamed to DT_TRAMP_SP_SLOT(n) for
consistency with the new DT_STK_SP_SLOT(n) macro.  DT_STK_SP is new
and refers to the location of a "stack pointer" that holds the address
of a DT_STK_SP_SLOT.

This patch also removes the SCRATCH_* macros because they are obsolete.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com


  Commit: a01c3b83e6a2734d031a4bd30167446c0db0df74
      https://github.com/oracle/dtrace-utils/commit/a01c3b83e6a2734d031a4bd30167446c0db0df74
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_as.c

  Log Message:
  -----------
  Add reloc support for the add immediate instruction

This patch also reworks a somewhat ugly compound conditional statement
into a switch statement.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 465823c609a398e91ac11d95a815d2784d2e0af4
      https://github.com/oracle/dtrace-utils/commit/465823c609a398e91ac11d95a815d2784d2e0af4
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_strtab.c

  Log Message:
  -----------
  Remove remnants of length prefix code in strtab handling

The removed code was introduced in commit aa9b7058a ("Store strings in
the string table with varint length prefix") and commit 99719da90
("Transition from variable-length string size to 2-byte string size").

It involved unnecessary copying of string data and also caused string
comparison to be broken once length prefixes were removed in commit
29e3f422 ("Remove the string length prefix")..

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 8d80e9adc367220288c40d5e07e17fe37746cc39
      https://github.com/oracle/dtrace-utils/commit/8d80e9adc367220288c40d5e07e17fe37746cc39
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_cc.c
    A test/unittest/disasm/tst.ann-strconst-strtab.r
    A test/unittest/disasm/tst.ann-strconst-strtab.sh

  Log Message:
  -----------
  Fix DIFO strtab handling

Incorrect handling of the DIFO strtab caused DIFOs to have string
constant tables that were missing items.  This caused annotations to
report incorrect strings.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 6bd24a5c95b075af4b038448cb038592161ea876
      https://github.com/oracle/dtrace-utils/commit/6bd24a5c95b075af4b038448cb038592161ea876
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M bpf/substr.S
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  Reduce register pressure in substr()

Have substr() return the result string pointer.  This means that we can
delay allocating the register to hold the result until after the call to
dt_substr() has been made.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: db993e51fec575b803ee179c6afffb607a87010e
      https://github.com/oracle/dtrace-utils/commit/db993e51fec575b803ee179c6afffb607a87010e
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_parser.c

  Log Message:
  -----------
  Remove dn_reg assignment in dt_node_tstring()

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 14b45a5740b379d83323edfa83ed0638c3e8f246
      https://github.com/oracle/dtrace-utils/commit/14b45a5740b379d83323edfa83ed0638c3e8f246
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M libdtrace/dt_regset.c

  Log Message:
  -----------
  Exclude %r0 from automatic register allocation

The %r0 register is used as a scratch register in various parts of the
code generator and should therefore not be among the registers that can
be allocated when dt_regset_alloc() is called.

This patch also offers a minor improvement in the regset debugging
output, reporting in-use registers by number rather than with a 'x'
in the register list.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 6b6f736ff8eabc8117137854e4044ae10c583264
      https://github.com/oracle/dtrace-utils/commit/6b6f736ff8eabc8117137854e4044ae10c583264
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-21 (Mon, 21 Mar 2022)

  Changed paths:
    M libdtrace/dt_bpf.h
    M libdtrace/dt_cc.c
    M libdtrace/dt_cg.c
    M libdtrace/dt_dlibs.c
    M libdtrace/dt_handle.c
    M runtest.sh
    M test/demo/dtrace/error.r
    M test/unittest/assocs/tst.cpyarray.d
    M test/unittest/assocs/tst.invalidref.r
    M test/unittest/assocs/tst.misc.d
    M test/unittest/drops/drp.DTRACEDROP_DBLERROR.r
    M test/unittest/error/tst.DTRACEFLT_BADADDR.d
    M test/unittest/error/tst.DTRACEFLT_BADADDR.null_ptr_field.d
    M test/unittest/error/tst.DTRACEFLT_BADADDR.null_ptr_field.r
    M test/unittest/error/tst.DTRACEFLT_BADADDR.r
    M test/unittest/error/tst.DTRACEFLT_BADADDR2.r
    M test/unittest/error/tst.DTRACEFLT_DIVZERO.div.d
    M test/unittest/error/tst.DTRACEFLT_DIVZERO.div.r
    M test/unittest/error/tst.DTRACEFLT_DIVZERO.mod.d
    M test/unittest/error/tst.DTRACEFLT_DIVZERO.mod.r
    M test/unittest/error/tst.DTRACEFLT_UNKNOWN.r
    M test/unittest/error/tst.clause_scope-begin-ended.r
    M test/unittest/error/tst.clause_scope-begin.r
    M test/unittest/error/tst.clause_scope-regular.r
    M test/unittest/error/tst.error.r
    M test/unittest/error/tst.errorend.r
    A test/unittest/error/tst.fault-location.sh
    M test/unittest/funcs/err.badbcopy6.r
    M test/unittest/funcs/strlen/tst.null.r
    M test/unittest/funcs/strtok/tst.strtok_null.r
    M test/unittest/funcs/strtok/tst.strtok_nulldel.r
    M test/unittest/funcs/strtok/tst.strtok_nullstr.r
    M test/unittest/funcs/strtok/tst.strtok_nullstr2.r
    M test/unittest/funcs/substr/err.substr_null_arg1.r
    M test/unittest/regression/tst.DTRACEFLT_BADADDR.d_path.r

  Log Message:
  -----------
  Include PC in fault reporting

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 1dec5842c010fc0a4cc25987839bf231652b901f
      https://github.com/oracle/dtrace-utils/commit/1dec5842c010fc0a4cc25987839bf231652b901f
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-21 (Mon, 21 Mar 2022)

  Changed paths:
    M libdtrace/dt_dis.c
    A test/unittest/disasm/tst.ann-reg-spill.r
    A test/unittest/disasm/tst.ann-reg-spill.sh

  Log Message:
  -----------
  Add disassembler annotations for register spills

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: f93a39593e941973e06706c2739a30374cc8f916
      https://github.com/oracle/dtrace-utils/commit/f93a39593e941973e06706c2739a30374cc8f916
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-22 (Tue, 22 Mar 2022)

  Changed paths:
    M bpf/get_dvar.c
    M libdtrace/dt_bpf.c
    M libdtrace/dt_bpf.h
    M libdtrace/dt_cc.c
    M libdtrace/dt_cg.c
    M libdtrace/dt_dctx.h
    M libdtrace/dt_dlibs.c
    M libdtrace/dt_ident.c
    M libdtrace/dt_impl.h
    M test/demo/dtrace/begin.d
    A test/unittest/assocs/err.limited_space.d
    A test/unittest/assocs/err.limited_space.r
    M test/unittest/assocs/err.tupoflow.d
    M test/unittest/assocs/err.tupoflow.r
    A test/unittest/assocs/tst.clean-tuple.d
    M test/unittest/assocs/tst.cpyarray.d
    A test/unittest/assocs/tst.gvar-postdec.d
    A test/unittest/assocs/tst.gvar-postinc.d
    A test/unittest/assocs/tst.gvar-predec.d
    A test/unittest/assocs/tst.gvar-preinc.d
    A test/unittest/assocs/tst.init-str.d
    A test/unittest/assocs/tst.init.d
    M test/unittest/assocs/tst.misc.d
    A test/unittest/assocs/tst.nested.d
    A test/unittest/assocs/tst.nested.r
    A test/unittest/assocs/tst.nested2.d
    A test/unittest/assocs/tst.nested2.r
    M test/unittest/assocs/tst.orthogonality.d
    A test/unittest/assocs/tst.store_zero_deletes.d
    A test/unittest/assocs/tst.store_zero_deletes.r
    A test/unittest/assocs/tst.tvar-postdec.d
    A test/unittest/assocs/tst.tvar-postinc.d
    A test/unittest/assocs/tst.tvar-predec.d
    A test/unittest/assocs/tst.tvar-preinc.d

  Log Message:
  -----------
  Implement associative array support

Associative arrays (global or TLS) are variables that are indexed with
a tuple (one or more values).  The underlying storage is provided by
the dvars (dynamic variables) BPF hash map.  Since dvars elements are
indexed using a unique 64-bit ID, and given that it provides storage
for both regular TLS variables and associate array elements, the
algorithms to calculate the ID are designed to provide orthogonal
value ranges.

1. Thread-local storage (TLS) variables: self->a
        dvar key = TLS key (highest bit = 0)
2. Global associative array elements: a[tuple]
        dvar key = &tuples[var id, tuple, 0] (highest bit = 1)
3. TLS associative array elements: self->a[tuple]
        dvar key = &tuples[var id, tuple, TLS key] (highest bit = 1)

Given that the TLS key can never be 0, uniqueness of the dvar key is
guaranteed in this scheme.

A new BPF hash map (tuples) associates the concatenation of the tuple
values as key with the address of the hash map element (which is
guaranteed to be unique).  Since BPF maps are allocated in kernel space,
these addresses will always have high order bit 1.

To ensure uniqueness between global associate array elements and TLS
associate array elements, and to ensure uniqueness between elements
with the same tuple index in different arrays, the key in the tuples
map is determined based on a rewritten tuple:

    [ variable ID, original tuple values, TLS variable key or 0 ]

While variable IDs are not unique between variable kinds, the final
component in the rewritten tuple is the TLS variable key (for TLS
associative arrays - never 0) or 0 (for global associative arrays).

Various new tests are added to exercise the new functionality.

Running out of dynamic variable space is not being reported as a drop
yet due to lack of drop counter support.  It generates an error
instead, and therefore the test for the drop reporting remains XFAIL.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 9574434662d0458802af012086fcaa7bbe507e7f
      https://github.com/oracle/dtrace-utils/commit/9574434662d0458802af012086fcaa7bbe507e7f
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-22 (Tue, 22 Mar 2022)

  Changed paths:
    M test/demo/intro/rwtime.d
    M test/unittest/arrays/tst.basic1.d
    M test/unittest/arrays/tst.basic2.d
    M test/unittest/arrays/tst.basic3.d
    M test/unittest/arrays/tst.basic4.d
    M test/unittest/arrays/tst.basic5.d
    M test/unittest/arrays/tst.basic6.d
    M test/unittest/dtrace-util/tst.InvalidModule4.sh
    M test/unittest/funcs/tst.basename.d
    M test/unittest/funcs/tst.hton.d
    M test/unittest/scalars/tst.selfarray.d
    M test/unittest/sizeof/tst.SizeofString1.d
    M test/unittest/struct/tst.StructAssoc.d
    M test/unittest/union/tst.UnionAssoc.d

  Log Message:
  -----------
  Remove @@xfail markers from tests that should pass with assoc support

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 4db19fd74403f3594fbe81a3bc3cf7e5a29b74e1
      https://github.com/oracle/dtrace-utils/commit/4db19fd74403f3594fbe81a3bc3cf7e5a29b74e1
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-22 (Tue, 22 Mar 2022)

  Changed paths:
    M libdtrace/dt_dis.c
    A test/unittest/disasm/tst.ann-gvar-assoc.r
    A test/unittest/disasm/tst.ann-gvar-assoc.sh
    A test/unittest/disasm/tst.ann-tvar-assoc.r
    A test/unittest/disasm/tst.ann-tvar-assoc.sh

  Log Message:
  -----------
  Add disassembler annotations for assoc arrays

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 8839c6b7ffa2b54ea54af5844b651700fa999e02
      https://github.com/oracle/dtrace-utils/commit/8839c6b7ffa2b54ea54af5844b651700fa999e02
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-22 (Tue, 22 Mar 2022)

  Changed paths:
    M libdtrace/dt_cg.c

  Log Message:
  -----------
  Improve and unify dt_cg_prearith() and dt_cg_postarith()

Combine dt_cg_prearith() and dt_cg_postarith() into a single function
given how much functionality they share.  The implementation is now
evaluating the child node as an lvalue, to be used to load the original
value and also to store the new value.  Associative arrays and TLS
variables are a special case because they will yield a NULL lvalue if
the variable was never assigned to (or if 0 was assigned to it).  In
that case, we use dt_cg_store_var() to store the new value.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


  Commit: 14bd8601912229c986bfb498cca3b55eb57413b9
      https://github.com/oracle/dtrace-utils/commit/14bd8601912229c986bfb498cca3b55eb57413b9
  Author: Kris Van Hees <kris.van.hees at oracle.com>
  Date:   2022-03-22 (Tue, 22 Mar 2022)

  Changed paths:
    M test/unittest/arrays/tst.basic6.d

  Log Message:
  -----------
  Reduce strsize to avoid BPF hash map key size limitations

Some older kernels impose a limitations on the key size for BPF hash
maps based on the maximum BPF stack size.  That limitation was lifted
before the 5.4 kernel series but the verifier kept imposing it until
the 5.12 kernel series.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>


Compare: https://github.com/oracle/dtrace-utils/compare/2e1b5daedf3a...14bd86019122



More information about the DTrace-devel mailing list