parformance patch?
Kris Kennaway
kris at obsecurity.org
Fri Aug 3 13:27:59 PDT 2007
On Fri, Aug 03, 2007 at 10:04:18PM +0200, Wojciech Puchar wrote:
> >>-#define MAXPHYS (128 * 1024) /* max raw I/O transfer
> >>size */
> >>+#define MAXPHYS (512 * 1024) /* max raw I/O transfer
> >>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.
>
>
> funny but THIS patch (MAXPHYS, not other) is working for me on 4 heavily
> loaded servers for over a year with FreeBSD 6.2
Lucky you ;) Doesn't mean that parts of the kernel you're not using
can handle it.
> >>/*
> >> * 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?
> >
>
> 16*4=64kbytes
>
> for modern disk drives 64 kbytes is transferred below 1 milisecond, while
> seek takes 8-10ms by average.
>
> doing so small I/O is inefficient. something like 512kB (128 pages) looks
> better.
>
>
> patched vm_fault make pageins faster, but not pageout. disks often does
> write caching clustering pageouts anyway, but probably not that efficient.
This is pageout, not pagein. Probably the negative effect is that the
when paging out the system does I/O in larger chunks, improving swap
throughput but increasing delays for other applications.
Kris
More information about the freebsd-questions
mailing list