Re: Best way to extend try_to_free_pages()?

From: Rik van Riel (riel@conectiva.com.br)
Date: Tue May 16 2000 - 18:46:51 EST


On Wed, 17 May 2000, Andreas Bombe wrote:

> (not possible, since 1394 code can be modularized)? If not, I
> consider adding some generic code to register callbacks for low
> memory situations as soon as I need it.

A callback system from do_try_to_free_pages(), where anybody
can dynamically register their cache->drop_pages() function
would be nice.

Maybe a list of caches with function pointers?

spin_lock(&cachelist_lock);
for (cache = &cachelist.next ; cache->next != &cachelist ;
                         cache = cachelist->next) {
        count -= cache->drop_pages(priority);
        if (count <= 0)
                break;
}
spin_unlock(&cachelist_lock);

On module load time, init_module() could grab the cachelist_lock,
insert an entry in the list and next time try_to_free_pages() is
called our cache will be shrunk too.

regards,

Rik

--
The Internet is not a network of computers. It is a network
of people. That is its real strength.

Wanna talk about the kernel? irc.openprojects.net / #kernelnewbies http://www.conectiva.com/ http://www.surriel.com/

- 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/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:11 EST