![]() | |||||||||||||
Messages in this thread |
Andrew Morton wrote: > Nick Piggin <nickpiggin@yahoo.com.au> wrote: >>But I've explained that they only matter for people using it in stupid ways. >>fsync also poses a performance problem for programs that call it after every >>write(2). > > > There's absolutely nothing stupid about > > *p = <expr> > msync(p, sizeof(*p), MS_ASYNC); > There really is if you're expecting a short time later to do *p = <expr2> and had no need for a MS_SYNC anywhere in the meantime. If you did have the need for MS_SYNC, then kicking off the IO ASAP is going to be more efficient. >> >>Is a more efficient implementation know-problematic? > > > It's less efficient for some things. A lot. > But only for stupid things, right? > >>What applications did >>you observe problems with, can you remember? > > > Linus has some application which was doing the above. It ran extremely > slowly, so we changed MS_ASYNC (ie: made it "more efficient"...) Can he remember what it is? It sounds like it is broken. OTOH, it could have been blocking on pages already under writeout but a smarter implementation could ignore those (at the cost of worse IO efficiency in these rare cases). -- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-02-10 06:05 [from the cache] ©2003-2008 | |||||||||||||