Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #309
Difficulty: Easy
FLAC stands for 'Free Lossless Audio Condenser';
True or False?
Linux & Unix Commands - Search Man Pages

write_cache_pages(9) [centos man page]

WRITE_CACHE_PAGES(9)					    Memory Management in Linux					      WRITE_CACHE_PAGES(9)

write_cache_pages - walk the list of dirty pages of the given address space and write all of them. SYNOPSIS
int write_cache_pages(struct address_space * mapping, struct writeback_control * wbc, writepage_t writepage, void * data); ARGUMENTS
mapping address space structure to write wbc subtract the number of written pages from *wbc->nr_to_write writepage function called for each page data data passed to writepage function DESCRIPTION
If a page is already under I/O, write_cache_pages skips it, even if it's dirty. This is desirable behaviour for memory-cleaning writeback, but it is INCORRECT for data-integrity system calls such as fsync. fsync and msync need to guarantee that all the data which was dirty at the time the call was made get new I/O started against them. If wbc->sync_mode is WB_SYNC_ALL then we were called for data integrity and we must wait for existing IO to complete. To avoid livelocks (when other process dirties new pages), we first tag pages which should be written back with TOWRITE tag and only then start writing them. For data-integrity sync we have to be careful so that we do not miss some pages (e.g., because some other process has cleared TOWRITE tag we set). The rule we follow is that TOWRITE tag can be cleared only by the process clearing the DIRTY tag (and submitting the page for IO). COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 WRITE_CACHE_PAGES(9)

Check Out this Related Man Page

tapset::nfs(3stap)														tapset::nfs(3stap)

tapset::nfs - systemtap nfs tapset DESCRIPTION
nfs.fop.llseek NFS client llseek operation See probe::nfs.fop.llseek(3stap) for details. NFS client read operation See for details. nfs.fop.write NFS client write operation See probe::nfs.fop.write(3stap) for details. nfs.fop.aio_read NFS client aio_read file operation See probe::nfs.fop.aio_read(3stap) for details. nfs.fop.aio_write NFS client aio_write file operation See probe::nfs.fop.aio_write(3stap) for details. nfs.fop.mmap NFS client mmap operation See probe::nfs.fop.mmap(3stap) for details. NFS client file open operation See for details. nfs.fop.flush NFS client flush file operation See probe::nfs.fop.flush(3stap) for details. nfs.fop.release NFS client release page operation See probe::nfs.fop.release(3stap) for details. nfs.fop.fsync NFS client fsync operation See probe::nfs.fop.fsync(3stap) for details. nfs.fop.lock NFS client file lock operation See probe::nfs.fop.lock(3stap) for details. nfs.fop.sendfile NFS client send file operation See probe::nfs.fop.sendfile(3stap) for details. nfs.fop.check_flags NFS client checking flag operation See probe::nfs.fop.check_flags(3stap) for details. nfs.aop.readpage NFS client synchronously reading a page See probe::nfs.aop.readpage(3stap) for details. nfs.aop.readpages NFS client reading multiple pages See probe::nfs.aop.readpages(3stap) for details. nfs.aop.set_page_dirty NFS client marking page as dirty See probe::nfs.aop.set_page_dirty(3stap) for details. nfs.aop.writepage NFS client writing a mapped page to the NFS server See probe::nfs.aop.writepage(3stap) for details. nfs.aop.writepages NFS client writing several dirty pages to the NFS server See probe::nfs.aop.writepages(3stap) for details. nfs.aop.write_begin NFS client begin to write data See probe::nfs.aop.write_begin(3stap) for details. nfs.aop.write_end NFS client complete writing data See probe::nfs.aop.write_end(3stap) for details. nfs.aop.release_page NFS client releasing page See probe::nfs.aop.release_page(3stap) for details. SEE ALSO
probe::nfs.fop.llseek(3stap),, probe::nfs.fop.write(3stap), probe::nfs.fop.aio_read(3stap), probe::nfs.fop.aio_write(3stap), probe::nfs.fop.mmap(3stap),, probe::nfs.fop.flush(3stap), probe::nfs.fop.release(3stap), probe::nfs.fop.fsync(3stap), probe::nfs.fop.lock(3stap), probe::nfs.fop.sendfile(3stap), probe::nfs.fop.check_flags(3stap), probe::nfs.aop.readpage(3stap), probe::nfs.aop.readpages(3stap), probe::nfs.aop.set_page_dirty(3stap), probe::nfs.aop.writepage(3stap), probe::nfs.aop.writepages(3stap), probe::nfs.aop.write_begin(3stap), probe::nfs.aop.write_end(3stap), probe::nfs.aop.release_page(3stap), stap(1), stapprobes(3stap) IBM
--- tapset::nfs(3stap)

Featured Tech Videos