|
| From: | Sergio Lopez |
| Subject: | Re: [PATCH] mach_defpager: Fix external objects interface |
| Date: | Wed, 19 May 2010 16:29:21 +0200 |
El Wed, 19 May 2010 10:17:00 +0200
<olafBuddenhagen@gmx.net> escribió:
> On Tue, May 18, 2010 at 04:19:10PM +0200, Sergio Lopez wrote:
>
> > This patch fixes external objects interface in mach_defpager
> > (current default pager in Hurd), so it can be used as backing store
> > by other translators (like tmpfs).
>
> I don't know enough about this code to actually understand the
> changes. However, on a quick glance, there seem to be several
> unrelated fixes in this patch?... Please split them into separate
> patches; and add a short explanation to each.
>
OK, here we go:
- 01defpager-mutex.patch: Properly unlock the mutex before returning
NO_BLOCK in pager_read_offset.
- 02defpager-extread.patch: Add an "external" attribute to
dstruct structure. In default_read, if the object is external,
resolve a read request with a zero filled page.
- 03defpager-synclock.patch: Remove user reference count logic, to
avoid setting an arbitrary limit to the number of requests
processed by an object. Don't request completion notification for
m_o_lock_request. I think is worth noting that the original problem
which makes default_pager get stuck waiting for a seqno that never
arrives in S_default_pager_object_set_size, was just that
reply_port and seqno arguments were in wrong order.
- 04defpager-objectsize.patch: In S_default_pager_object_create,
reject values for "size" other than "vm_page_size", since internal
logic doesn't properly support it (though object size limit can be
increased by sucesive calls to S_default_pager_set_size).
04defpager-objectsize.patch
Description: Text Data
03defpager-synclock.patch
Description: Text Data
01defpager-mutex.patch
Description: Text Data
02defpager-extread.patch
Description: Text Data
| [Prev in Thread] | Current Thread | [Next in Thread] |