Step 2 Was: more strict KPI for vm_pager_get_pages()

Gleb Smirnoff glebius at FreeBSD.org
Wed Jun 17 12:33:10 UTC 2015


  Hi!

On Tue, Jun 16, 2015 at 12:29:31AM +0300, Gleb Smirnoff wrote:
T>   This is step 2 of the "more strict pager KPI" patch:
T> 
T> o Uninline vm_pager_get_pages() into vm_pager.c.
T> o Keep all KASSERTs that enforce the KPI of pagers and of their
T>   consumers in one place: vm_pager_get_pages().
T> o Keep the code that zeroes out partially valid pages in one
T>   place in vm_pager_get_pages().

As Konstantin pointed out, it is very likely that right now NFS and SMD
do the zeroing of partially valid pages incorrecrtly. So this code
is removed from the generic vm_pager_get_pages() and this reduces
step 2 patch to a very small change:

o Uninline vm_pager_get_pages() into vm_pager.c.
o Keep all KASSERTs that enforce the KPI of pagers and of their
  consumers in one place: vm_pager_get_pages().
o Remove some KASSERTs from pagers that are already there in
  vm_pager_get_pages().

Patch attached.

-- 
Totus tuus, Glebius.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pagers.step.2.diff
Type: text/x-diff
Size: 6746 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20150617/df2011dd/attachment.diff>


More information about the freebsd-arch mailing list