Date: Fri, 3 Aug 2007 12:46:22 -0400 From: Kris Kennaway <kris@obsecurity.org> To: Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl> Cc: freebsd-questions@freebsd.org Subject: Re: parformance patch? Message-ID: <20070803164621.GA65921@rot26.obsecurity.org> In-Reply-To: <20070803172639.F17414@wojtek.tensor.gdynia.pl> References: <20070803172639.F17414@wojtek.tensor.gdynia.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 03, 2007 at 05:26:49PM +0200, Wojciech Puchar wrote: > 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. There are assumptions about the value of MAXPHYS all through the kernel. I doubt this patch works properly - it is something that should be fixed more completely though. > 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... Why? i.e. what are the implications of this, good and bad? Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070803164621.GA65921>