bug-hurd
[Top][All Lists]
Advanced

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

Re: [PATCH hurd/ext2fs] Sync pager before clearing MAY_CACHE flag


From: Sergio López
Subject: Re: [PATCH hurd/ext2fs] Sync pager before clearing MAY_CACHE flag
Date: Mon, 3 Oct 2011 10:08:09 +0200

2011/10/2 Samuel Thibault <samuel.thibault@gnu.org>:
> Sergio López, le Thu 29 Sep 2011 11:44:40 +0200, a écrit :
>> Sync'ing the pager before clearing that flag ensures that there aren't
>> dirty pages in the object before its termination.
>
> Do you mean that the writes will be completely avoided for objects which
> have actually been removed?

No, it just makes sure that all dirty pages have been sent back to the
pager before clearing the flag.

>> @@ -851,7 +851,10 @@ drop_pager_softrefs (struct node *node)
>>    spin_unlock (&node_to_page_lock);
>>
>>    if (MAY_CACHE && pager)
>> -    pager_change_attributes (pager, 0, MEMORY_OBJECT_COPY_DELAY, 0);
>> +    {
>> +      pager_sync (pager, 1);
>
> Won't using wait=1 reduce performance due to waiting for completion?

Clearing the flag will, implicitily, generate a full object
synchronization, but with a higher cost, since pages are sent one by
one. By synchronizing the object explicitily (and waiting for
completion), all data is sent through m_o_lock_request, which is able
to send to the pager up to 32 pages at a time (DATA_WRITE_MAX).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]