--- - branch: MAIN date: Thu Feb 26 18:18:14 UTC 2009 files: - new: '1.143' old: '1.142' path: src/sys/uvm/uvm_page.c pathrev: src/sys/uvm/uvm_page.c@1.143 type: modified id: 20090226T181814Z.57c9fd0c2e9442eb368c1314bbec023ee9b97f97 log: | -fix two conditions where PQ_FREE was still/already set while the page was not anymore/yet on the freelist and uvm_fpageqlock was not held -clear PQ_FREE while the page is in the works of pageidlezero This avoids that the DMA memory allocator (pglistalloc) grabs a page which is not on the freelist, leading to a diagnostic panic (with DEBUG) or freelist corruption. (mostly on X server activation after a VT switch or suspend/resume because this can allocate megabytes of AGP memory) This might fix PR port-i386/38989 by Alan Barrett (in case this was a multiprocessor). module: src subject: 'CVS commit: src/sys/uvm' unixtime: '1235672294' user: drochner