[patch 3/9] Guest page hinting: volatile page cache.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2006-09-01 at 10:16 -0700, Dave Hansen wrote:
> This feels like something that can be done with RCU.  The
> __page_discard() is the write operation, right?  So, take an rcu write
> lock inside of the page discard function, and read locks over the
> current places where PG_discarded is set.
> 
> That should make sure that the discard operation itself can't be done
> concurrently with one of the __remove_from*() operations.  Once the
> write lock has been acquired, you just check page->mapping to see if the
> a __remove_from*() operation has occurred while you waited.

The problem of page discard vs. normal page remove is that the page can
be remove and discarded at the same time. Both sides are writers in the
sense that they want to remove the page from page cache. RCU doesn't not
help with that kind of race.

-- 
blue skies,
  Martin.

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH

"Reality continues to ruin my life." - Calvin.




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux