~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/mm/internal.h

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 /* internal.h: mm/ internal definitions
  2  *
  3  * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
  4  * Written by David Howells (dhowells@redhat.com)
  5  *
  6  * This program is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU General Public License
  8  * as published by the Free Software Foundation; either version
  9  * 2 of the License, or (at your option) any later version.
 10  */
 11 #ifndef __MM_INTERNAL_H
 12 #define __MM_INTERNAL_H
 13 
 14 #include <linux/mm.h>
 15 
 16 static inline void set_page_count(struct page *page, int v)
 17 {
 18         atomic_set(&page->_count, v);
 19 }
 20 
 21 /*
 22  * Turn a non-refcounted page (->_count == 0) into refcounted with
 23  * a count of one.
 24  */
 25 static inline void set_page_refcounted(struct page *page)
 26 {
 27         BUG_ON(PageCompound(page) && page_private(page) != (unsigned long)page);
 28         BUG_ON(atomic_read(&page->_count));
 29         set_page_count(page, 1);
 30 }
 31 
 32 static inline void __put_page(struct page *page)
 33 {
 34         atomic_dec(&page->_count);
 35 }
 36 
 37 extern void fastcall __init __free_pages_bootmem(struct page *page,
 38                                                 unsigned int order);
 39 
 40 #endif
 41 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.