Messages in this thread | | | Date | Tue, 22 Jun 1999 19:37:12 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | oops if free a locked page |
| |
I have a problem with pre-2.3.8-2. It issues an Oops if I attempt to free a locked page. I think I am allowed to free a locked page without first unlock it, because if there's a waiter waiting for the page, the waiter will have just increased the reference count of the page before go to sleep on the page.
I want to run try_to_free_buffers() with the page locked and so I want to be allowed to run:
/* And free the page */ page->buffers = NULL; if (__free_page(page)) { buffermem -= PAGE_SIZE; return 1; }
with the page locked. If try_to_free_buffers() will return 1, then I'll avoid the unlock, otherwise I'll do the unlock but after a lot of time (I'll take the page locked just ready for the shrink_mmap-inode path). Right now I removed the BUG() in free-page.
Comments?
Andrea Arcangeli
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |