2.6.18, the execution of do_generic_mapping_read
I am tracing 2.6.18 kernel(DL from kernel.org) using KDB. When I set a breakpoint on do_generic_mapping_read, it is often executed and stop on the breakpoint. BUT, when I set the breakpoint on line 988 as this:
987 /* Start the actual read. The read will unlock the page. */
988 -> error = mapping->a_ops->readpage(filp, page);
It does not stop on the breakpoint at all, even when I am reading some random disk files which is never accessed and will not be in the buffer cache.
I want to know the reason, what does it happen in do_generic_mapping_read when a disk file is accessing? or KDB can not catch the execution of line 988?