parformance patch?
Kris Kennaway
kris at obsecurity.org
Fri Aug 3 09:46:23 PDT 2007
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
More information about the freebsd-questions
mailing list