On 30.04.2012 17:26, Bean wrote: > Hi, > > While testing network function in efi mode, I've found several memory > leak related to fragmentation, but there is still some memory problem > that's very tricky to locate. For example, you can run testspeed on a > large file several times in a row and it could show the memory error. > Since network condition are very difficult to reproduce, I have to > look at the source of this issue, memory allocation. Currently it has > mm_debug option that could print out file and line number of each > memory call, but it's quite useless since we can't find the relevant > informaton with full screen of prints. > Here are some of my ideas for enhanced memory protection support: > > 1, when we allocate memory, we append some information at the end of > the buffer, which include filename, lineno of caller, and tag to > indicate what is used for and some padding to detect memory overwrite > problem. > > 2. add a command to print the current memory list with extended > information, this can be used to find memory leaks. > > 3. it's also a good idea to run the memory check in automated test to > locate potential issue. This is pretty easy to do leveraging some of the code I did for POSIX support. But: - Due to additional time and space required it should be done only when mm-debug is enabled. - The additional data has to be stored before rather than after the range since we store all the info before. - Integrating with automated tests isn't that easy since some memory is intentionally never freed i.a. disk cache or otherwise in use (i.a. terminal). We need exceptions for those. I have half-working patch, just needs few fixes.
-- Regards Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
