linux-bl808/Documentation/core-api
NeilBrown 84dacdbd53 mm: document and polish read-ahead code
Add some "big-picture" documentation for read-ahead and polish the code
to make it fit this documentation.

The meaning of ->async_size is clarified to match its name.  i.e.  Any
request to ->readahead() has a sync part and an async part.  The caller
will wait for the sync pages to complete, but will not wait for the
async pages.  The first async page is still marked PG_readahead

Note that the current function names page_cache_sync_ra() and
page_cache_async_ra() are misleading.  All ra request are partly sync
and partly async, so either part can be empty.  A page_cache_sync_ra()
request will usually set ->async_size non-zero, implying it is not all
synchronous.

When a non-zero req_count is passed to page_cache_async_ra(), the
implication is that some prefix of the request is synchronous, though
the calculation made there is incorrect - I haven't tried to fix it.

Link: https://lkml.kernel.org/r/164549983734.9187.11586890887006601405.stgit@noble.brown
Signed-off-by: NeilBrown <neilb@suse.de>
Cc: Anna Schumaker <Anna.Schumaker@Netapp.com>
Cc: Chao Yu <chao@kernel.org>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Ilya Dryomov <idryomov@gmail.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Lars Ellenberg <lars.ellenberg@linbit.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Paolo Valente <paolo.valente@linaro.org>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2022-03-22 15:57:00 -07:00
..
irq
assoc_array.rst
boot-time-mm.rst
bus-virt-phys-mapping.rst
cachetlb.rst
circular-buffers.rst
cpu_hotplug.rst
debug-objects.rst
debugging-via-ohci1394.rst
dma-api-howto.rst
dma-api.rst
dma-attributes.rst swiotlb: rework "fix info leak with DMA_FROM_DEVICE" 2022-03-07 11:26:02 -08:00
dma-isa-lpc.rst
errseq.rst
genalloc.rst
generic-radix-tree.rst
genericirq.rst
gfp_mask-from-fs-io.rst
idr.rst
index.rst
kernel-api.rst
kobject.rst
kref.rst
librs.rst
local_ops.rst
memory-allocation.rst
memory-hotplug.rst
mm-api.rst mm: document and polish read-ahead code 2022-03-22 15:57:00 -07:00
packing.rst
padata.rst
pin_user_pages.rst
printk-basics.rst
printk-formats.rst
protection-keys.rst
rbtree.rst
refcount-vs-atomic.rst
symbol-namespaces.rst
this_cpu_ops.rst
timekeeping.rst
tracepoint.rst
unaligned-memory-access.rst
workqueue.rst
xarray.rst