Messages in this thread | | | Date | Thu, 24 Nov 2005 10:48:59 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [patch] SMP alternatives |
| |
On Thu, 24 Nov 2005, linux@horizon.com wrote: > > > I suspect that with MAP_SHARED + PROT_WRITE being pretty uncommon anyway, > > we can probably find trivial patterns in the kernel. Like only one process > > holding that file open - which is what you get with things that use mmap() > > to write a new file (I think "ld" used to have a config option to write > > files that way, for example). > > Just a bit of practical experience: I use mmap() to write data a LOT, > because msync(MS_ASYNC) is the most portable way to do an async write.
Sure. But I suspect that nobody else has that file open when you do so?
In other words, even your usage is something where the OS could tell that you don't actually need atomic operations. It certainly gets slightly more complicated (we'd need to trigger some special stuff if another process does an mmap on it), but it's not conceptually very difficult to just notice automatically and do the right thing(tm).
Now, if two programs are using mmap() to write to the same file at the same time, then the kernel can't tell any more. But in that case, you probably _do_ want atomic ops to be guaranteed, so not disabling them is the right thing to do there.
Linus - 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/
| |