Re: Wiring down Pages
On Thu, 21 Dec 2000, Robert Read wrote: > On Thu, Dec 21, 2000 at 06:46:33PM -0200, Rik van Riel wrote: > > > > page_cache_drop(page); <= removes your extra count > > I can't find that function, do you mean page_cache_free() and > page_cache_release(), both are aliases for __free_page(). Maybe > we need another alias. :) page_cache_release(), indeed. My bad... > Should non-page cache related code use get_page() and > __free_page() directly? Or should the page_cache_* macros be > used everywhere? The non-page cache related code should use get_page() and __free_page() (put_page?) directly. There may come a day where the pagecache page size can be different from the page size ... regards, Rik -- Hollywood goes for world dumbination, Trailer at 11. http://www.surriel.com/ http://www.conectiva.com/ http://distro.conectiva.com.br/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: Wiring down Pages
On Thu, 21 Dec 2000, Robert Read wrote: On Thu, Dec 21, 2000 at 06:46:33PM -0200, Rik van Riel wrote: page_cache_drop(page); = removes your extra count I can't find that function, do you mean page_cache_free() and page_cache_release(), both are aliases for __free_page(). Maybe we need another alias. :) page_cache_release(), indeed. My bad... Should non-page cache related code use get_page() and __free_page() directly? Or should the page_cache_* macros be used everywhere? The non-page cache related code should use get_page() and __free_page() (put_page?) directly. There may come a day where the pagecache page size can be different from the page size ... regards, Rik -- Hollywood goes for world dumbination, Trailer at 11. http://www.surriel.com/ http://www.conectiva.com/ http://distro.conectiva.com.br/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: Wiring down Pages
On Thu, Dec 21, 2000 at 06:46:33PM -0200, Rik van Riel wrote: > > page_cache_drop(page); <= removes your extra count I can't find that function, do you mean page_cache_free() and page_cache_release(), both are aliases for __free_page(). Maybe we need another alias. :) Should non-page cache related code use get_page() and __free_page() directly? Or should the page_cache_* macros be used everywhere? robert - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: Wiring down Pages
On Fri, 22 Dec 2000, Sourav Sen wrote: > Suppose I want to wire-down( as they call in BSD ) a page > in memory, how I go about doing that? (I guess by setting the > PG_locked bit of the flags field in the struct page, I can do > it, am I right?) Linux simply uses page->count for this. By using the page->count, multiple parts of the kernel can pin the same page in memory at different times and unlock them at different times without any locking/unlocking conflicts... page_cache_get(page); <= increases page->count page_cache_drop(page); <= removes your extra count regards, Rik -- Hollywood goes for world dumbination, Trailer at 11. http://www.surriel.com/ http://www.conectiva.com/ http://distro.conectiva.com.br/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Wiring down Pages
Hi, I am a novice in this exciting kernel world, so my questions may be a bit naive, please bear with me.(I am student at IISc, Bangalore). Suppose I want to wire-down( as they call in BSD ) a page in memory, how I go about doing that? (I guess by setting the PG_locked bit of the flags field in the struct page, I can do it, am I right?) sourav SOURAV SENMSc(Engg.) CSA IISc BANGALORE URL : www2.csa.iisc.ernet.in/~sourav ROOM NO : N-78 TEL :(080)309-2454(HOSTEL) (080)309-2906 (COMP LAB) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Wiring down Pages
Hi, I am a novice in this exciting kernel world, so my questions may be a bit naive, please bear with me.(I am student at IISc, Bangalore). Suppose I want to wire-down( as they call in BSD ) a page in memory, how I go about doing that? (I guess by setting the PG_locked bit of the flags field in the struct page, I can do it, am I right?) sourav SOURAV SENMSc(Engg.) CSA IISc BANGALORE URL : www2.csa.iisc.ernet.in/~sourav ROOM NO : N-78 TEL :(080)309-2454(HOSTEL) (080)309-2906 (COMP LAB) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: Wiring down Pages
On Fri, 22 Dec 2000, Sourav Sen wrote: Suppose I want to wire-down( as they call in BSD ) a page in memory, how I go about doing that? (I guess by setting the PG_locked bit of the flags field in the struct page, I can do it, am I right?) Linux simply uses page-count for this. By using the page-count, multiple parts of the kernel can pin the same page in memory at different times and unlock them at different times without any locking/unlocking conflicts... page_cache_get(page); = increases page-count your critical stuff here page_cache_drop(page); = removes your extra count regards, Rik -- Hollywood goes for world dumbination, Trailer at 11. http://www.surriel.com/ http://www.conectiva.com/ http://distro.conectiva.com.br/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: Wiring down Pages
On Thu, Dec 21, 2000 at 06:46:33PM -0200, Rik van Riel wrote: page_cache_drop(page); = removes your extra count I can't find that function, do you mean page_cache_free() and page_cache_release(), both are aliases for __free_page(). Maybe we need another alias. :) Should non-page cache related code use get_page() and __free_page() directly? Or should the page_cache_* macros be used everywhere? robert - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/