lkml.org 
[lkml]   [2002]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] __free_pages_ok oops
On Thu, 7 Feb 2002, David S. Miller wrote:
> From: Rik van Riel <riel@conectiva.com.br>
> Date: Thu, 7 Feb 2002 10:34:20 -0200 (BRST)
>
> Actually, at this point we _know_ page->list.{prev,next} are
> NULL.
>
> We can use this to add the pages to a special list, from where
> __alloc_pages() and kswapd can move them to the free list, in
> process context.
>
> I don't think there should be any special logic on how to free a page
> outside of the page allocator itself. Certainly this kind of stuff
> doesn't belong in the networking.
>
> Pages can be freed from arbitrary contexts, and the page allocator
> should be the part the knows how to deal with it.
>
> Maybe I don't understand and you're really suggesting something else.

The mechanism to do what I described above should of course be
in __free_pages_ok().

if (PageLRU(page)) {
if (in_interrupt()) {
add_page_to_special_list(page);
return;
} else
lru_cache_del(page);
}

Rik
--
"Linux holds advantages over the single-vendor commercial OS"
-- Microsoft's "Competing with Linux" document

http://www.surriel.com/ http://distro.conectiva.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.270 / U:0.176 seconds]
©2003-2011 Jasper Spaans