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

Reduce Host emulator CPU load #2472

Merged
merged 12 commits into from
Jan 26, 2022
Merged

Commits on Jan 24, 2022

  1. Refactor LWIP library

    Simplify build by using cmake for lwip only, sming glue built as regular sming library
    Pull out common linux/Windows code
    Service using event timer rather than polled timer
    Remove LWIP_SERVICE_INTERVAL and adjust interval dynamically
    mikee47 committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    eb6fe73 View commit details
    Browse the repository at this point in the history
  2. Fetch & patch npcap as pre-requisite

    Code required by both CMake and sming library builds
    mikee47 committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    04c15e3 View commit details
    Browse the repository at this point in the history
  3. Fix CSemaphore::timedwait()

    Time is absolute so must base on system clock.
    Because this wasn't done will always succeed.
    
    Change parameter to microseconds.
    mikee47 committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    cf8c9b2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    620fe96 View commit details
    Browse the repository at this point in the history
  5. Wait efficiently

    mikee47 committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    64eec22 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    834b38d View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2022

  1. Use clock_gettime in timedwait

    Time structure same as sem_timedwait
    Consistent with example code
    mikee47 committed Jan 25, 2022
    Configuration menu
    Copy the full SHA
    26d9467 View commit details
    Browse the repository at this point in the history
  2. Add cpulimit option

    Investigating cause of Windows deadlock.
    May have other uses.
    mikee47 committed Jan 25, 2022
    Configuration menu
    Copy the full SHA
    821c80e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cd553df View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ff6754b View commit details
    Browse the repository at this point in the history
  5. Use native Windows sempahore to avoid deadlock

    Replace global semaphore with `host_thread_wait` and `host_thread_kick`
    mikee47 committed Jan 25, 2022
    Configuration menu
    Copy the full SHA
    fe91169 View commit details
    Browse the repository at this point in the history
  6. Fix lwip patch

    mikee47 committed Jan 25, 2022
    Configuration menu
    Copy the full SHA
    e14f865 View commit details
    Browse the repository at this point in the history