Eliminate user_page_limit global symbol.
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2008 05:54:04 +0000 (21:54 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2008 05:55:39 +0000 (21:55 -0800)
The name "user_page_limit" did not follow the naming convention, which
stated that its name should start with palloc_ since it is defined in
palloc.c.  But it was only used in one function, so it was better off
as a function parameter anyhow.

Found by Godmar with his process-linker-map.pl.

src/threads/init.c
src/threads/palloc.c
src/threads/palloc.h

index 60d6c46c4a98c3a5a7992f69e8422bf28f96cbd9..8a037058a7358bea829c75153cfdca313570febd 100644 (file)
@@ -53,6 +53,9 @@ bool power_off_when_done;
 /* -r: Reboot after kernel tasks complete? */
 static bool reboot_when_done;
 
 /* -r: Reboot after kernel tasks complete? */
 static bool reboot_when_done;
 
+/* -ul: Maximum number of pages to put into palloc's user pool. */
+static size_t user_page_limit = SIZE_MAX;
+
 static void ram_init (void);
 static void paging_init (void);
 
 static void ram_init (void);
 static void paging_init (void);
 
@@ -88,7 +91,7 @@ main (void)
   printf ("Pintos booting with %'zu kB RAM...\n", ram_pages * PGSIZE / 1024);
 
   /* Initialize memory system. */
   printf ("Pintos booting with %'zu kB RAM...\n", ram_pages * PGSIZE / 1024);
 
   /* Initialize memory system. */
-  palloc_init ();
+  palloc_init (user_page_limit);
   malloc_init ();
   paging_init ();
 
   malloc_init ();
   paging_init ();
 
index d5d513fec06871cbca165e1cfadfadc4895b5330..b2fcafea91ce5e6633a3ea2651e39d7376ad7977 100644 (file)
@@ -37,16 +37,14 @@ struct pool
 /* Two pools: one for kernel data, one for user pages. */
 static struct pool kernel_pool, user_pool;
 
 /* Two pools: one for kernel data, one for user pages. */
 static struct pool kernel_pool, user_pool;
 
-/* Maximum number of pages to put in user pool. */
-size_t user_page_limit = SIZE_MAX;
-
 static void init_pool (struct pool *, void *base, size_t page_cnt,
                        const char *name);
 static bool page_from_pool (const struct pool *, void *page);
 
 static void init_pool (struct pool *, void *base, size_t page_cnt,
                        const char *name);
 static bool page_from_pool (const struct pool *, void *page);
 
-/* Initializes the page allocator. */
+/* Initializes the page allocator.  At most USER_PAGE_LIMIT
+   pages are put into the user pool. */
 void
 void
-palloc_init (void) 
+palloc_init (size_t user_page_limit)
 {
   /* End of the kernel as recorded by the linker.
      See kernel.lds.S. */
 {
   /* End of the kernel as recorded by the linker.
      See kernel.lds.S. */
index 2d41cf6d52e186633f014b7c0a5b482c08fc33b6..cb3b70e94c93b6642ae35b74eee636da594c2d8d 100644 (file)
@@ -11,10 +11,7 @@ enum palloc_flags
     PAL_USER = 004              /* User page. */
   };
 
     PAL_USER = 004              /* User page. */
   };
 
-/* Maximum number of pages to put in user pool. */
-extern size_t user_page_limit;
-
-void palloc_init (void);
+void palloc_init (size_t user_page_limit);
 void *palloc_get_page (enum palloc_flags);
 void *palloc_get_multiple (enum palloc_flags, size_t page_cnt);
 void palloc_free_page (void *);
 void *palloc_get_page (enum palloc_flags);
 void *palloc_get_multiple (enum palloc_flags, size_t page_cnt);
 void palloc_free_page (void *);