Code Monkey home page Code Monkey logo

Comments (4)

pb8o avatar pb8o commented on June 1, 2024

What CPU type are you using? The [Firmware Bug]: TSC doesn't count with P0 frequency! seems similar to #4099 Is it also an AMD CPU? Can you reproduce these differences in an Intel or an ARM CPU?

Also, could you try to run your test with --level Debug ? That outputs some information with event_start/event_end that could be useful for timing.

from firecracker.

DavidVentura avatar DavidVentura commented on June 1, 2024

I'm on an AMD Ryzen 5 7640U, I can try to repro on ARM

from firecracker.

pb8o avatar pb8o commented on June 1, 2024

Hi, can you try the same workaround as in #4099, i.e. use lapic=notscdeadline as a Linux boot option? Does that workaround the issue?

from firecracker.

billywhizz avatar billywhizz commented on June 1, 2024

i've been looking at firecracker source in recent days and i saw this issue so thought i would investigate. i see same behaviour on ubuntu kernel 6 host/guest.

if we look at the source, we can see the initial timestamp for boot_timer is recorded here:

https://github.com/firecracker-microvm/firecracker/blob/v1.7.0/src/vmm/src/builder.rs#L233

this is before all the work is done to load kernel, initrd (optionally) from disk, configure any boot disk, setup the cpus and guest memory, start the guest kernel and attach devices etc.

you can see the "kick devices" message is happening after all that work has been done when resume_vm is called here

00.036482 2024-02-07T14:14:16.726643784 [anonymous-instance:main] Artificially kick devices.

https://github.com/firecracker-microvm/firecracker/blob/v1.7.0/src/vmm/src/builder.rs#L385

so the 8ms you are talking about is just the time to give the guest thread state machines a kick and start running i think? πŸ€”

imo, 78ms and 43 ms are the correct timings if what we want to measure includes all the setup and configuration of the vm to the time the port gets kicked in the guest.

from firecracker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.