Messages in this thread | | | Date | Tue, 6 Jan 2015 09:53:40 +0200 | Subject | Re: Old O_DIRECT story | From | Leon Pollak <> |
| |
IMHO(!): 1. It will be slower, as pre-fill takes its significant time. 2. DMA-Kernel competition makes this method unusable.
On 6 January 2015 at 04:04, Kirill A. Shutemov <kirill@shutemov.name> wrote: > On Mon, Jan 05, 2015 at 03:52:10PM +0000, One Thousand Gnomes wrote: >> > I tried in all ways to implement this with mmap(), but it does not success, >> > because I did not find a way to mmap() file as O_WRONLY. Mapping as O_RDWR >> > makes kernel to pre-fill mapped memory with partition data. So, kernel and >> > DMA actually compete on the RAM area to fill it - one with garbage, one >> > with actual data. Kernel wins. >> > >> > So, how to implement Linus's advice? >> >> Use O_DIRECT. There are lots of problems with the mmap() model, in >> particular with how mmu table changes scale to large numbers of CPU >> threads (ie they don't). > > They do. Kinda. See split page table lock. > But, yeah, mmap() approach should not be faster anyway. > > -- > Kirill A. Shutemov
| |