Assuming we are using Thomas' patch that already removed the vm_page_wire()
from the earlier for loop, then at the point of this VM space allocation
failure, we haven't done anything too serious to the vm_page nor to the pmap,
nor are they in any object. We should be able to simply place it back to the
colored free list, something as easy as:

*** vm_page.c   Mon Oct 15 10:26:14 2001
--- vm_page.c.new       Mon Oct 15 11:32:46 2001
***************
*** 1934,1939 ****
--- 1934,1942 ----
                         * above available.
                         */
                        vm_map_unlock(map);
+                       for (i = start; i < (start + size / PAGE_SIZE); i++) {
+                               (void)vm_add_new_page(VM_PAGE_TO_PHYS(&pga[i]));
+                       }
                        splx(s);
                        return (NULL);
                }


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to