Code Monkey home page Code Monkey logo

nvram's Introduction

nvram's People

Contributors

imoraru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvram's Issues

Multi link towards overlapping memory areas

image
In the implementation of NVMalloc, some different free list_heads may point to memory regions with overlapping areas. For example, the figure above is extracted from your paper, in this figure, the second 1-bl list_head points to the chunk with one block length, the first 2-bl list_head points to the chunk with two blocks length, and the 3-bl list_head points to the chunk with three blocks length, these chunks have some overlapping areas, so these list_heads are related. I think when a chunk is allocated, the list_head that points to this chunk need to be released, at the same time, the related list_heads need to be released too. However, in your code, I only found that you free the former list_head, and the related list_heads are not freed. This will cause the later allocations may allocate to the memory blocks that is in use.

In order to check this problem, I added a judgement statement in function makeOne(), this function is called in getFreeLocation(). When a free memory is allocated, makeOne() will modify the corresponding state value in bitmap. If the allocated memory is in use, bitmap[index] & mask will be 1, I will print the error and exit the program. In test I did encounter this error. So I am wondering if you have omitted this point. If so, please let me know.
image

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.