Skip to content

Conversation

@ahrens
Copy link

@ahrens ahrens commented Dec 16, 2022

we deleted .pre-commit-config.yaml locally, but changes were made to it upstream. I resolved the conflict by keeping our version (deleted file).

http://selfservice.jenkins.delphix.com/job/appliance-build-orchestrator-pre-push/4020/

osandov and others added 16 commits December 12, 2022 19:08
I want to add support for multi-index XArray entries. This requires
CONFIG_XARRAY_MULTI. The easiest way to enable that is by enabling
CONFIG_TRANSPARENT_HUGEPAGE. We'll probably also want to test helpers
for transparent hugepages themselves later, so let's also enable
CONFIG_READ_ONLY_THP_FOR_FS.

Signed-off-by: Omar Sandoval <[email protected]>
These runs have gotten very flaky. I reported it at
packit/packit-service#1798, which was then reported at
fedora-copr/copr#2429, and finally as a DNF bug in
https://bugzilla.redhat.com/show_bug.cgi?id=2152259. Let's disable them
until it is fixed.

Signed-off-by: Omar Sandoval <[email protected]>
This is useful for adding type: ignore[<code>] comments.

Signed-off-by: Omar Sandoval <[email protected]>
No changes required. mypy is still pinned for the sake of Python 3.6.

Signed-off-by: Omar Sandoval <[email protected]>
I wanted to add tests for the radix tree helpers, but found that they
have never worked for Linux 4.4. Linux 4.4 has been EOL for almost a
year, so rather than going out of our way to support it, let's just stop
testing it. I'm not going to go back and remove existing support for
4.4 (yet), but I'm also not going to make sure future changes support
it.

Signed-off-by: Omar Sandoval <[email protected]>
Commit 89eb868 ("helpers: make find_task() work on recent kernels")
made radix_tree_lookup() and radix_tree_for_each() work for basic
XArrays. However, it doesn't handle a couple of more advanced features:
multi-index entries (which old radix trees actually also supported) and
zero entries. It has also been really confusing to explain to people
unfamiliar with the radix tree -> XArray transition that they should use
helpers named radix_tree for a structure named xarray.

So, let's finally add xa_load(), xa_for_each(), and some additional
auxiliary helpers. The non-recursive xa_for_each() implementation is
based on Kevin Svetlitski's C implementation from commit 2b47583
("Rewrite linux helper iterators in C"). radix_tree_lookup() and
radix_tree_for_each() share the implementation with xa_load() and
xa_for_each(), respectively, so they are mostly interchangeable.

Fixes: delphix#61

Signed-off-by: Omar Sandoval <[email protected]>
Signed-off-by: Davide Cavalca <[email protected]>
…ents

Currently, looking up a type with template arguments results in an
"invalid character" syntax error on the "<" character. The DWARF index
includes template arguments in indexed names, so we need to do lookups
including the template arguments. Full support for this would require
parsing the template argument list syntax and normalizing it or looking
it up as an AST in some way. For now, it's at least an improvement to
pass the user's string verbatim. To do so, kludge it by adding a token
containing everything from "<" to the matching ">" to the C++ lexer and
appending that to the identifier.

Co-authored-by: Omar Sandoval <[email protected]>
Signed-off-by: Omar Sandoval <[email protected]>
Signed-off-by: Kevin Svetlitski <[email protected]>
CONFIG_SLOB was renamed to CONFIG_SLOB_DEPRECATED during the Linux 6.2
merge window. Let's prepare for that now before rc1 is released.

Signed-off-by: Omar Sandoval <[email protected]>
for_each_page() can return offline pages that don't actually exist.
Fixing this is difficult (see osandov#228), but working around it by catching
FaultError is easy. Document the recommended usage.

Signed-off-by: Omar Sandoval <[email protected]>
The current test case only checks that getting a stack trace succeeds.
By having the test kernel module create a struct pt_regs, we can
actually test that we get a reasonable stack trace.

Signed-off-by: Omar Sandoval <[email protected]>
@ahrens ahrens changed the title merge .pre-commit-config.yaml DLPX-84089 drgn: merge .pre-commit-config.yaml Dec 20, 2022
@ahrens ahrens merged commit 86341c9 into delphix:6.0/stage Dec 20, 2022
@ahrens ahrens deleted the stage branch December 20, 2022 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

6 participants