Giter Club home page Giter Club logo

Comments (3)

cahirwpz avatar cahirwpz commented on June 2, 2024

Here's another instance of this dead-lock: https://github.com/cahirwpz/mimiker/pull/974/checks?check_run_id=1861738645

from mimiker.

cahirwpz avatar cahirwpz commented on June 2, 2024

First code inspection reveals that there's responsibility overload in pm_free_from_seg.

In the same module we use pmap in vm_boot_alloc and that's seems ok. However pm_free_from_seg tries to do too much. We would like it to be a simple and well-defined tool, which we use to perform more complex actions. However it breaks abstraction by calling pmap_page_remove and that's the source of our problem.

EDIT: In other words – we would like pm_free_from_seg to be leaf-call.

from mimiker.

cahirwpz avatar cahirwpz commented on June 2, 2024

We have about a dozen of uses of vm_page_free. Each one of them should be called only if vm_page_t reference counter (which we do not maintain) drops to zero.

Most likely pmap_page_remove should be renamed to pmap_remove_all as in FreeBSD. We should add plain pmap_remove and maybe pmap_remove_pages. Perhaps introduction of these functions will help us to remove call to pmap_page_remove from pm_free_from_seg.

from mimiker.

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.