Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring feature/perf up-to-date with master #5582

Merged
merged 80 commits into from
Apr 23, 2024

Commits on Mar 26, 2024

  1. CA-388860: set xapi-guard cache capacity to 512

    This is about the same order of magnitude as the number of VMs supported in a
    host
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    d37b866 View commit details
    Browse the repository at this point in the history
  2. xapi-guard-test: Direct loglines to stdout

    This helps when running it to observe behaviour of the library
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    ec68831 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. CP-46576: Add standard http attributes

    Add standard http attributes to from opentelemetry such as:
    
    - `http.request.method`
    - `http.request.header.content-type`;
    - `http.request.body.size`;
    - `http.request.header.user-agent`;
    - `http.request.header.(key)`.
    
    This improves debuggability associated with client requests.
    
    Signed-off-by: Gabriel Buica <[email protected]>
    GabrielBuica committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    64fdc74 View commit details
    Browse the repository at this point in the history
  2. CA-388860: xapi-guard cache now starts in the most efficient mode

    This reuses the re-key process to gather current contents of the cache and
    depending on the amount of elements pending it
    1. Bypasses the cache completely if it's empty
    2. Uses the queue if all the elements fit in the queue
    3. Starts as before if there are more elements
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    364073a View commit details
    Browse the repository at this point in the history
  3. CA-388860: xapi-guard cache: protect against invalid keys

    Unknown directories detected in the cache will get logged, and at the
    appropriate times deleted, along with all the files contained within.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b06b27c View commit details
    Browse the repository at this point in the history
  4. CP-48385: xapi-guard cache: do not spam logs on errors

    Previously a logline was created per push attempt, now up to two per failure
    period are done: one on the first failure, and one on recovery.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    7f0afec View commit details
    Browse the repository at this point in the history
  5. CP-48385: xapi-guard: Remove the notion of temporary writes

    Now temporary files are an internal detail of the persistence function. The
    rest of code needs not be aware of it: if some of temp files linger in the
    filesystem means that the process did not acknowledge a requested write, so the
    domain could not have possibly acted on the write. Delete these as this does
    not incur in any data corruption in the domain side.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    7268e36 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    add5d2c View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. CA-384483: Can't export VDI to VHD file with base VDI

    With *hybrid source format in export, the following cases are supported:
    1. nbdhybrid: QCOW2 -> NBD device in dom0 -> exported file
    2. nbdhybrid: VHD -> NBD device in dom0 -> exported file
    3. hybrid: VHD -> blktap device in dom0 -> exported file
    
    The case 2 above can't support an optional parameter "base".
    This parameter holds the ID of another VHD VDI. When it is passed, the
    export will only write the differences between "source" and "base" to
    the destination file.
    
    As a short-term solution, in case 2 above, when the "base" is passed,
    the source format is changed to "hybrid" in this commit.
    This can work because:
    1. the comparsion on blocks required by "base" is supported by "hybrid";
    2. the raw data from NBD device and blktap (Frankentap) device are same;
    3. the sparseness information of the source required in case 2 can be
       get by either NBD interface (nbdhybrid) or VHD parsing (hybrid).
    
    Signed-off-by: Ming Lu <[email protected]>
    minglumlu committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    66f33ac View commit details
    Browse the repository at this point in the history
  2. CA-378317 fix EBADF in waitpid_nohang (v3)

    waitpid_nohang closes the socket by calling waitpid and then calls
    clear_nonblock on that socket, which fails.
    
    waitpid_nohang's policy around closing the socket is not obvious enough.
    Make it more explicit by not calling waitpid but inlining code and
    looking at the different cases. The behaviour is still to close the
    socket when the child process has terminated and not otherwise.
    
    Logging can be re-enabled if we have to come back to this.
    
    Signed-off-by: Christian Lindig <[email protected]>
    Christian Lindig authored and lindig committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    8017465 View commit details
    Browse the repository at this point in the history
  3. Merge pull request xapi-project#5535 from minglumlu/private/mingl/CA-…

    …384483
    
    CA-384483: Can't export VDI to VHD file with base VDI
    minglumlu authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    a7087df View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. CP-47660 define anti-affinity feature

    Signed-off-by: Lunfan Zhang <[email protected]>
    LunfanZhang committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    599a9c6 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. Use Magic MIME to determine fileserver's response content type

    Signed-off-by: Benjamin Reis <[email protected]>
    benjamreis authored and lindig committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    ec36f8b View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. Add minor test to forkexec test_exitcode test

    Slightly different from missing file, add missing path.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    dcbdbb9 View commit details
    Browse the repository at this point in the history
  2. Make it easier to run forkexecd tests manually

    Clean even if user press Ctrl-C, not only sending TERM signal.
    Remove possible stale unix socket to allow to run multiple times.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    28135b5 View commit details
    Browse the repository at this point in the history
  3. Add test for output strings

    Make sure we get the correct output from program launched.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    bf93ab3 View commit details
    Browse the repository at this point in the history
  4. Add test for input strings

    Make sure program receives the string we are sending.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    1ce582a View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. build: add sdk-build-c Makefile rule to test building C SDK locally

    Requires libxml2-devel installed.
    
    Signed-off-by: Edwin Török <[email protected]>
    (cherry picked from commit 0008395)
    edwintorok authored and danilo-delbusso committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    53d5ae8 View commit details
    Browse the repository at this point in the history
  2. CA_388624: fix(C SDK): fix build failure with recent GCC

    The C SDK build was failing with a recent GCC on Fedora39 like this:
    ```
    src/xen_common.c: In function ‘xen_session_logout’:
    src/xen_common.c:298:5: error: ‘xen_call_’ accessing 16 bytes in a region of size 0 [-Werror=stringop-overflow=]
      298 |     xen_call_(session, "session.logout", params, 0, NULL, NULL);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ```
    
    Use `NULL` instead of a VLA of size 0.
    
    Signed-off-by: Edwin Török <[email protected]>
    (cherry picked from commit bfe78bd)
    edwintorok authored and danilo-delbusso committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    484b098 View commit details
    Browse the repository at this point in the history
  3. Merge pull request xapi-project#5547 from danilo-delbusso/dev/port-fe…

    …dora-fix
    
    Port of "Fix C SDK build on Fedora39" to `master`
    kc284 authored Apr 8, 2024
    Configuration menu
    Copy the full SHA
    f106b8f View commit details
    Browse the repository at this point in the history
  4. CA-390988: Prevent varstored-guard from shutting down while domains run

    Domains using TPMs need to have SWTPM always available. Encode this information
    in the service file so the services are shut down at the correct time while
    powering off the hosts.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    14052b2 View commit details
    Browse the repository at this point in the history
  5. CP-46851: Allow metadata-exports of snapshots

    I am not sure where this restriction came from. It was introduced in the
    same commit that introduced the metadata-export feature itself, without
    explanation. Full exports of snapshots are already allowed.
    
    Signed-off-by: Rob Hoes <[email protected]>
    robhoes authored and psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    f8f3d61 View commit details
    Browse the repository at this point in the history
  6. CP-46851: return snapshot refs when importing exclusively snapshots

    This allows clients to know which snapshots they knowingly just created and act
    on them instead of looking again into the db and try to divine which snapshots
    the call created.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    robhoes authored and psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    1141b8a View commit details
    Browse the repository at this point in the history
  7. CP-46851: Add metadata_export to VM.allowed_operations

    This allows clients to detect that the newer device type exclusions for export
    are available.
    
    Signed-off-by: Rob Hoes <[email protected]>
    robhoes authored and psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    e9431c6 View commit details
    Browse the repository at this point in the history
  8. CP-46851: add parameter to skip device types on get_export_metadata

    This allows to orchestrators to copy devices like VBDs from the VM, export the
    metadata without the disk, import the VM to any pool, and finally add the
    saved VBDs to the new VM before booting it.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    f48b878 View commit details
    Browse the repository at this point in the history
  9. CP-46851: Add device types excluded to exports in xe-cli

    This allows to easily test the http endpoint. Also advertises the metadata
    parameter on these calls
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    e67585c View commit details
    Browse the repository at this point in the history
  10. xapi-cli-server: simplify vm-export and helpers

    Use the helper functions to process parameters, use atomics instead of ad-hoc
    references for counting in possibly-parallel case
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    d772c39 View commit details
    Browse the repository at this point in the history
  11. datamodel_vm: fix typo

    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    f237795 View commit details
    Browse the repository at this point in the history
  12. .git-blame-ignore-revs: ignore another reformatting commit

    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    5013382 View commit details
    Browse the repository at this point in the history
  13. xapi/export: do not miss parameters for export_metadata on logs

    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    85d5c86 View commit details
    Browse the repository at this point in the history
  14. xapi/export: set a date when generating tarballs

    Tooling complains about using 1970 as the date otherwise
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    0c6805f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e6f5c5c View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Configuration menu
    Copy the full SHA
    6089fe2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6dea56a View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2024

  1. Detect automatically whether we are on cygwin.

    Signed-off-by: Konstantina Chremmou <[email protected]>
    kc284 committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    e2eb7b2 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Use templates to generate all the C files. CA-387885 (do not call int…

    …ernal headers from the public ones).
    
    Signed-off-by: Konstantina Chremmou <[email protected]>
    kc284 committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    ade81da View commit details
    Browse the repository at this point in the history
  2. Removed erroneously ported recipe.

    Signed-off-by: Konstantina Chremmou <[email protected]>
    kc284 committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    e6afe15 View commit details
    Browse the repository at this point in the history
  3. CP-47033: Protocol_{lwt,async}: process requests concurrently (optional)

    Protocol_unix spawns a new thread for each request and already processes requests concurrently.
    However Protocol_{lwt,async} was waiting for each request to be fully processed before fetching and dispatching the next one.
    
    Change `iter` to `iter_donwait`, run all promises in parallel, and don't wait for any of them to complete.
    Exceptions have to go somewhere though, so set up an Lwt.async_exception_hook that logs the exception.
    
    Note: this might need some throttling so that sending lots of RPC calls doesn't cause the server to run OOM.But Protocol_unix already has this problem.
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok authored and Vincent-lau committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    92276c5 View commit details
    Browse the repository at this point in the history
  4. CP-47033: Make message switch concurrent processing optional

    Previously we had problems with making message switch process multiple
    messages at the same time, especially with the xapi-storage-script. It
    would still be good to have this feature, but be more conservative and
    make it off by default.
    
    Signed-off-by: Vincent Liu <[email protected]>
    Vincent-lau committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    8b81958 View commit details
    Browse the repository at this point in the history
  5. CP-47033: Add test for concurrent message switch server

    Signed-off-by: Vincent Liu <[email protected]>
    Vincent-lau committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    966b636 View commit details
    Browse the repository at this point in the history
  6. Remove mention of dotnet-packages in sdk-gen's README

    Signed-off-by: Danilo Del Busso <[email protected]>
    danilo-delbusso committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    790e6fe View commit details
    Browse the repository at this point in the history
  7. CP-48768: Update Folder Structure section in PS SDK's READMEs

    Signed-off-by: Danilo Del Busso <[email protected]>
    danilo-delbusso committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    e3d2299 View commit details
    Browse the repository at this point in the history
  8. Merge pull request xapi-project#5404 from Vincent-lau/private/shul2/s…

    …witch-optional
    
    CP-47033: Make message switch concurrent processing optional
    Vincent-lau authored Apr 11, 2024
    Configuration menu
    Copy the full SHA
    01487ea View commit details
    Browse the repository at this point in the history
  9. CA-391485: Avoid InterpolationSyntaxError by turning off interpolation

    OTEL_RESOURCE_ATTRIBUTES is in W3CBaggageFormat and thus uses %.
    ConfigParser attempts to interpolate these % signs but we want them to
    be left alone, so set interpolation=None
    
    Signed-off-by: Steven Woods <[email protected]>
    snwoods committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    cee08ad View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Merge pull request xapi-project#5557 from snwoods/private/stevenwo/CA…

    …-391485
    
    CA-391485: Avoid InterpolationSyntaxError by turning off interpolation
    snwoods authored Apr 12, 2024
    Configuration menu
    Copy the full SHA
    27f5adc View commit details
    Browse the repository at this point in the history
  2. opam: add xapi-log to message-switch-core dependencies

    A recent change added the dependency
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    f4aadeb View commit details
    Browse the repository at this point in the history
  3. Remove _t suffix for syslog_stdout_t type

    There's no need for suffix, Ocaml has different namespace for types.
    This was suggested as part of a code review.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    e505d89 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9638038 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. CA-389929: xenopsd: fix Xen version comparison. 4.17 is > 4.2, not lo…

    …wer!
    
    Don't use string comparisons for versions, "17" < "2", but 17 > 2!
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    97e8c14 View commit details
    Browse the repository at this point in the history
  2. Merge pull request xapi-project#5509 from edwintorok/private/edvint/x…

    …enver
    
    xenopsd: fix Xen version comparison. 4.17 is > 4.2, not lower!
    edwintorok authored Apr 15, 2024
    Configuration menu
    Copy the full SHA
    7eab5fe View commit details
    Browse the repository at this point in the history
  3. Add test for lock implementation in message_switch

    The lock implementation for `protocol_async` was not correct, hence
    adding the test suggested by Edwin to trigger race.
    
    Test works by trying to acquire a standard Ocaml mutex in a critical
    section provided by the `with_lock` implementation. This means that any
    failed attempt to acquire the lock implies the `with_lock`
    implementation does not provide mutual exclusion.
    
    Signed-off-by: Vincent Liu <[email protected]>
    Vincent-lau committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    0d1d992 View commit details
    Browse the repository at this point in the history
  4. Merge pull request xapi-project#5539 from LunfanZhang/private/luzhan/…

    …CP-47660
    
    CP-47660 define anti-affinity feature
    robhoes authored Apr 15, 2024
    Configuration menu
    Copy the full SHA
    b69f75a View commit details
    Browse the repository at this point in the history
  5. Check elapsed time for timeout test

    Not only print the time taken for program execution but also
    check the process was stopped not too early and not too late.
    
    Signed-off-by: Frediano Ziglio <[email protected]>
    freddy77 committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    d26f0b8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4cdebd7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5b59bc6 View commit details
    Browse the repository at this point in the history
  8. CP-47991: add CBT fields to the volume struct

    Signed-off-by: Mark Syms <[email protected]>
    MarkSymsCtx committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    eb5d0fe View commit details
    Browse the repository at this point in the history
  9. CP-46576: Add standard network attributes

    Add standard http attributes to from opentelemetry such as:
    
    - `network.local.address`;
    - `network.local.port`;
    - `network.peer.address`;
    - `network.peer.port`.
    
     This improves debuggability associated with client requests.
    
    Signed-off-by: Gabriel Buica <[email protected]>
    GabrielBuica committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    d384dbc View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Configuration menu
    Copy the full SHA
    9bc4c1f View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2024

  1. Configuration menu
    Copy the full SHA
    7d135a9 View commit details
    Browse the repository at this point in the history
  2. ocaml/idl: generate enum{_to_string,__all} functions

    This is useful for unit-testing, and more.
    Printing helps with displaying the values in unit-tests, and the all helps to
    get exhaustive checks without having to manually sync the types
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    74f7437 View commit details
    Browse the repository at this point in the history
  3. test: add tests for allowed VM operations

    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    c20b11e View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. ocaml/xapi: use generated enum list instead of hand-maintained ones

    The list in xapi_vm_lifecycle now contains ignored operations, this allows
    users to easily see which operations are excluded from the database, decide
    whether they're worth exposing them and change the code accordingly to
    accomodate for them.
    
    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    723a498 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d5f9a7 View commit details
    Browse the repository at this point in the history
  3. Added github workflow to build and release the C SDK.

    Signed-off-by: Konstantina Chremmou <[email protected]>
    kc284 committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    6681b7d View commit details
    Browse the repository at this point in the history
  4. xenopsd: add mli to cli/xn and remove unused code

    Signed-off-by: Pau Ruiz Safont <[email protected]>
    psafont committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    f753ee2 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. Configuration menu
    Copy the full SHA
    21721ad View commit details
    Browse the repository at this point in the history
  2. Merge pull request xapi-project#5563 from psafont/test_allowed

    test: add tests for allowed VM operations
    robhoes authored Apr 19, 2024
    Configuration menu
    Copy the full SHA
    aeee6ce View commit details
    Browse the repository at this point in the history
  3. Merge pull request xapi-project#5555 from kc284/private/konstantin1/s…

    …dk-c
    
    CA-387885 and templatization of the C SDK
    robhoes authored Apr 19, 2024
    Configuration menu
    Copy the full SHA
    e2b0a40 View commit details
    Browse the repository at this point in the history
  4. CP-48195: Split tracing library

    Attempts to split the tracing library into components and exporter
    parts.
    
    While trying to instrument `forkhelpers.ml` with tracing, I found a
    cycle dependency: `Tracing(Exporter)` -> `Open_uri` -> `Stunnel` ->
    `Forkhelpers`. This splits the tracing library between exporting
    functionality and components.
    
    Signed-off-by: Gabriel Buica <[email protected]>
    GabrielBuica committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    577d424 View commit details
    Browse the repository at this point in the history
  5. CP-48195: Improvements to tracing_export

    Small improvements to `tracing_export.ml` and `tracing_exoprt.mli`.
    
    Issues found while splitting the library such as: missing documentation
    and small code refactoring for better readability.
    
    Signed-off-by: Gabriel Buica <[email protected]>
    GabrielBuica committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    af2f199 View commit details
    Browse the repository at this point in the history
  6. CP-48195: Add with_tracing helper function

    Adds `with_tracing` helper function to `forkhelpers.ml`.
    
    This is to show that there are no more cycle dependecies between
    `tracing` library and `forexecd` and it will be used in a follow-up PR
    to instrument `forkhelpers` with tracing.
    
    Signed-off-by: Gabriel Buica <[email protected]>
    GabrielBuica committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    d049d43 View commit details
    Browse the repository at this point in the history
  7. PCI passthrough API

    As discussed here: xapi-project/xapi-project.github.io#286
    
    New methods:
    - `PCI.disable_dom0_access`: Hide a PCI from dom0 kernel
    - `PCI.enable_dom0_access`: Unhide a PCI from dom0 kernel
    - `PCI.get_dom0_access_status`: Return a PCI device dom0 access status
    The answer is no longer based on a DB field but by comparing the `/proc/cmdline`
    and the xen cmdline.
    
    Deprecated methods:
    - `PGPU.disable_dom0_acces`
    - `PGPU.enable_dom0_access`
    The methods should be called on the PCI belonging to the PGPU instead
    
    Deprecated field:
    - `PGPU.dom0_access`
    
    The deprecated methods still work since they now call the PCI methods.
    The PGPU field is kept up to date with the statuss returned by the PCI methods.
    
    Corresponding xe CLI calls have been implemented.
    
    Signed-off-by: Benjamin Reis <[email protected]>
    benjamreis authored and psafont committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    51205fa View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    dbfa07b View commit details
    Browse the repository at this point in the history
  9. IH-553: Optimize Sexpr.escape

    It was allocating a string for each character, only to then immediately add it to a buffer.
    Instead add the character to the buffer directly.
    
    The temporary string was probably created to factor out 'Buffer.add',
    but I'd rather copy Buffer.add 4x times than have the perf hit.
    
    Further optimizations might be possible here as the comments says,
    but this is a low-risk, obvious optimization.
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    6a0142f View commit details
    Browse the repository at this point in the history
  10. IH-553: Sexpr.escape should be a noop when nothing to escape

    Optimistically check for the presence of escape characters before escaping.
    This avoids rebuilding the string when escapable characters are not present (the common case).
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    d989d24 View commit details
    Browse the repository at this point in the history
  11. IH-553: Optimise SExpr.unescape

    Check for the presence of the escape character before rebuilding the string
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    6f15c30 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. Merge pull request xapi-project#5576 from edwintorok/private/edvint/s…

    …expr
    
    IH-553: Optimize Sexpr.{escape,unescape}
    robhoes authored Apr 22, 2024
    Configuration menu
    Copy the full SHA
    f1903aa View commit details
    Browse the repository at this point in the history
  2. Merge pull request xapi-project#5551 from GabrielBuica/private/dbuica…

    …/CP-48195-v2
    
    CP-48195: Split `tracing` library to avoid future cyclic dependencies
    robhoes authored Apr 22, 2024
    Configuration menu
    Copy the full SHA
    f208e2f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    374aa42 View commit details
    Browse the repository at this point in the history
  4. fixup! scripts/xentrace: detect host CPU spikes and dump xentrace

    Fix shellcheck warnings and bugs.
    
    Signed-off-by: Edwin Török <[email protected]>
    edwintorok committed Apr 22, 2024
    Configuration menu
    Copy the full SHA
    916b6e0 View commit details
    Browse the repository at this point in the history