Re: [RFC] Distributed mmap API

Paul E. McKenney
2004-02-25T19:12:19Z

On Wed, Feb 25, 2004 at 04:04:19PM -0500, Daniel Phillips wrote:

Very cool!

> This is the function formerly known as invalidate_mmap_range, with the
> addition of a new code path in the zap_ call chain to handle MAP_PRIVATE
> properly. This function by itself is enough to support a crude but useful
> form of distributed mmap where a shared file is cached only on one cluster
> node at a time.
>
> To use this, the distributed filesystem has to hook do_no_page to intercept
> page faults and carry out the needed global locking. The locking itself does
> not require any new kernel hooks. In brief, the patch here and another patch
> to be presented for the do_no_page hook, together provide the core kernel API
> for a simplified, distributed mmap. (Note that there may be a workaround for
> the lack of a do_no_page hook, but certainly not as simple and robust.)
>
> To put this in perspective, I'll mention the two big limitations of the
> simplified API:
>
> 1) Invalidation is always a whole file at a time

I must be missing something subtle here... It looks to me like
the new unmap_mapping_range() API is capable of invalidating
portions of files, based on the "start" and "length" arguments.

What am I missing?

Thanx, Paul