/* Module specific */ #include <linux/sched.h> #include <linux/vmalloc.h> #include <asm/uaccess.h> #include <asm/current.h> #include <vmregress_core.h> #include <procprint.h> /* Name of the module that appears on printk messages */ #define MODULENAME "testproc" #define NUM_PROC_ENTRIES 1 #define PROCFOOTER "\nProc Test Completed on %u pages...\n" static vmr_desc_t testinfo[] = { VMR_DESC_INIT(0, MODULENAME, vmr_read_proc, vmr_write_proc) }; /* Module Register */ MODULE_AUTHOR("Mel Gorman <*****@*****.**>"); MODULE_DESCRIPTION("Test /proc interface"); MODULE_LICENSE("GPL"); char *testproc_buf; unsigned int testproc_size=0; /** * testproc_runtest - Get information for the proc entry and fill the buffer * * testproc_readproc needs a buffer to read from if the output is going to be * more than one page in size. This function populates a large buffer for
#include <linux/mm.h> #include <linux/vmalloc.h> #include <linux/spinlock.h> #include <linux/highmem.h> #include <asm/rmap.h> /* Included only if available */ #include <vmr_mmzone.h> #define MODULENAME "test_highalloc" #define NUM_PROC_ENTRIES 3 #define HIGHALLOC_REPORT 0 #define HIGHALLOC_TIMING 1 #define HIGHALLOC_BUDDYINFO 2 static vmr_desc_t testinfo[] = { VMR_DESC_INIT(HIGHALLOC_REPORT, MODULENAME , vmr_read_proc, vmr_write_proc), VMR_DESC_INIT(HIGHALLOC_TIMING, MODULENAME "_timings", vmr_read_proc, vmr_write_proc), VMR_DESC_INIT(HIGHALLOC_BUDDYINFO, MODULENAME "_buddyinfo", vmr_read_proc, vmr_write_proc), }; MODULE_AUTHOR("Mel Gorman <*****@*****.**>"); MODULE_DESCRIPTION("Test high order allocations"); MODULE_LICENSE("GPL"); /* Boolean to indicate whether to use gfp_highuser or not */ int gfp_highuser; int ms_delay=100; int expected_count=1; /* * 256 == Attempt line
#include <asm/uaccess.h> #include <asm/mman.h> #include <asm/rmap.h> /* Included only if available */ #include <vmr_mmzone.h> #define MODULENAME "test_fault" #define NUM_PROC_ENTRIES 4 /* Tests */ #define TEST_FAST 0 #define TEST_LOW 1 #define TEST_MIN 2 #define TEST_ZERO 3 static vmr_desc_t testinfo[] = { VMR_DESC_INIT(TEST_FAST, MODULENAME "_fast", vmr_read_proc, vmr_write_proc), VMR_DESC_INIT(TEST_LOW, MODULENAME "_low", vmr_read_proc, vmr_write_proc), VMR_DESC_INIT(TEST_MIN, MODULENAME "_min", vmr_read_proc, vmr_write_proc), VMR_DESC_INIT(TEST_ZERO, MODULENAME "_zero", vmr_read_proc, vmr_write_proc) }; /* Simple function to give the full name of the test */ inline char *makename(char *fullname, char *testname) { strcpy(fullname, MODULENAME); strcat(fullname, testname); return fullname; } /* Module information */ MODULE_AUTHOR("Mel Gorman <*****@*****.**>"); MODULE_DESCRIPTION("Test page fault paths");