parformance patch?

Wojciech Puchar wojtek at wojtek.tensor.gdynia.pl
Fri Aug 3 08:26:56 PDT 2007


is anything wrong in this?

--- vm_fault.c.orig     Fri Aug  3 15:01:27 2007
+++ vm_fault.c  Thu Aug  2 15:56:17 2007
@@ -113,8 +113,8 @@
  static int vm_fault_additional_pages(vm_page_t, int, int, vm_page_t *, int *);
  static void vm_fault_prefault(pmap_t, vm_offset_t, vm_map_entry_t);

-#define VM_FAULT_READ_AHEAD 8
-#define VM_FAULT_READ_BEHIND 7
+#define VM_FAULT_READ_AHEAD 64
+#define VM_FAULT_READ_BEHIND 63
  #define VM_FAULT_READ (VM_FAULT_READ_AHEAD+VM_FAULT_READ_BEHIND+1)

  struct faultstate {


and

--- param.h.orig        Fri Aug  3 15:02:37 2007
+++ param.h     Wed Jul 11 11:46:24 2007
@@ -125,7 +125,7 @@
  #define DFLTPHYS       (64 * 1024)     /* default max raw I/O transfer size */
  #endif
  #ifndef MAXPHYS
-#define MAXPHYS                (128 * 1024)    /* max raw I/O transfer size */
+#define MAXPHYS                (512 * 1024)    /* max raw I/O transfer size */
  #endif
  #ifndef MAXDUMPPGS
  #define MAXDUMPPGS     (DFLTPHYS/PAGE_SIZE)





both works for me and gives noticable speedup, when operating on big files and 
when starting big apps or swapping.


other question (swap_pager.c):

/*
  * SWB_NPAGES must be a power of 2.  It may be set to 1, 2, 4, 8, or 16
  * pages per allocation.  We recommend you stick with the default of 8.
  * The 16-page limit is due to the radix code (kern/subr_blist.c).
  */

#ifndef MAX_PAGEOUT_CLUSTER
#define MAX_PAGEOUT_CLUSTER 16
#endif



can this be changed/fixed? 64-128 would be nicer...





More information about the freebsd-questions mailing list