There appears to be a inconsistenancy with reference counts on pages allocated with alloc_pages when order is greater than zero. In buffered_rmqueue when order != 0 then __rmqueue is called. This returns a page pointer that is really a pointer to the first page in a group of pages. Subsequently prep_new_page is called on the first page of the group but not on any others. This results in the first page having a reference count of 1 while all other pages in the allocation have a reference count of 0. I would think that all pages in the same allocation should all have the same reference count at the end of the allocation.
I've looked at this in the 2.6.20, 2.6.19.1, and the 2.6.17.7 kernels. They contain the same code in this area. I don't have a solution to offer, but I wanted to bring it to the attention of those who have more knowledge about the workings of the page allocation system. tim ____________________________________________________________________________________ Don't pick lemons. See all the new 2007 cars at Yahoo! Autos. http://autos.yahoo.com/new_cars.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/