Hi! 26-Июл-2006 16:19 [EMAIL PROTECTED] (Michael Devore) wrote to freedos-devel@lists.sourceforge.net:
MD> Okay, I can get minor XMS free block fragmentation during direct calls to MD> the VCPI/EMS allocator for large blocks. Since the VCPI/EMS allocator MD> directly manipulates the XMS handles, it is possible to confuse the MD> allocator's merge of free block back to adjacent XMS block if they are done MD> out of sequence. MD> The question is: who's responsible for merging them back? Should EMM386's MD> VCPI/EMS allocator walk all the available XMS blocks multiple times on a MD> freed block and sew them back together, or is that the responsible of MD> HIMEM, which after all is the XMS "manager"? Fragmentation shouldn't be seen neither at (1) allocation new memory (XMS functions 8,9,88h and 89h) nor at (2) getting info about free memory and handles (INT 2F/4309). As I understand, this may be achieved by defragmentation at start of entry point of these functions. This is in ideal, as I understand. But I suggest, also acceptable, if INT 2F/4309 will not be affected by defragmentation. MD> I can make HIMEM's allocator and free memory function force a free block MD> merge walk every time it's called and that will clear up any remaining MD> fragmentation, except for programs which directly access the XMS handles MD> before HIMEM has a chance to do the merge walk. MD> Or, I can make EMM386's VCPI/EMS allocator do it, clear up any MD> fragmentation it is personally responsible for, but not cover the MD> possibility of other programs directly accessing the XMS handles also, MD> potentially leaving them in a fragmented state. MD> Or I can make both HIMEM and EMM386 do it. Which sounds like a bit of MD> overkill. Defragmentation should be done in any XMM, which handles abovementioned functions. If EMM386 serves these functions over HIMEM _without_ calling HIMEM - it should duplicate also defragmentation feature. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel