Date: Wed, 27 Nov 2013 19:25:45 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Kirk McKusick <mckusick@mckusick.com> Cc: FreeBSD FS <freebsd-fs@freebsd.org> Subject: Re: RFC: NFS client patch to reduce sychronous writes Message-ID: <1525534748.22295409.1385598345290.JavaMail.root@uoguelph.ca> In-Reply-To: <201311272320.rARNKEKQ045789@chez.mckusick.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok, the attchment seemed to get stripped off. Here's the code. Apologies if the mail system I use eats the whitespace, rick #include <stdio.h> #include <fcntl.h> #include <sys/types.h> #include <sys/mman.h> main(int argc, char *argv[]) { int x, i; char *cp; printf("before open\n"); x = open(argv[1], O_RDWR | O_CREAT, 0666); printf("aft open=%d\n", x); cp = mmap((void *)0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, x, 0); #ifdef WRITEIT lseek(x, 4090, SEEK_SET); write(x, "B", 1); printf("wrote B at 4090\n"); #endif if (cp != NULL) { *(cp + 4080) = 'A'; if (msync(cp, 0, MS_SYNC) < 0) printf("msync failed\n"); } close(x); } ----- Original Message ----- > > Date: Wed, 27 Nov 2013 17:50:48 -0500 (EST) > > From: Rick Macklem <rmacklem@uoguelph.ca> > > To: Konstantin Belousov <kostikbel@gmail.com> > > Subject: Re: RFC: NFS client patch to reduce sychronous writes > > > > Kostik wrote: > >> Sorry, I do not understand the question. mmap(2) itself does not > >> change > >> file size. But if mmaped area includes the last page, I still > >> think > >> that the situation I described before is possible. > > > > Yes, I'll need to look at this. If it is a problem, all I can think > > of > > is bzeroing all new pages when they're allocated to the buffer > > cache. > > > > Thanks for looking at it, rick > > ps: Btw, jhb@'s patch didn't have the bzeroing in it. > > The ``fix'' of bzero'ing every buffer cache page was made to UFS/FFS > for this problem and it killed write performance of the filesystem > by nearly half. We corrected this by only doing the bzero when the > file is mmap'ed which helped things considerably (since most files > being written are not also bmap'ed). > > Kirk >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1525534748.22295409.1385598345290.JavaMail.root>