Re: pagefault in generic_file_buffered_write() causing deadlock

Badari Pulavarty
2006-11-15T18:17:21Z

Andrew Morton wrote:
> On Wed, 15 Nov 2006 07:57:45 -0800
> Badari Pulavarty <pbadari@us.ibm.com> wrote:
>
>
>> We are looking at a customer situation (on 2.6.16-based distro) - where
>> system becomes almost useless while running some java & stress tests.
>>
>> Root cause seems to be taking a pagefault in generic_file_buffered_write
>> () after calling prepare_write. I am wondering
>>
>> 1) Why & How this can happen - since we made sure to fault the user
>> buffer before prepare write.
>>
>
> When using writev() we only fault in the first segment of the iovec. If
> the second or succesive segment isn't mapped into pagetables we're
> vulnerable to the deadlock.
>

Yes. I remember this change. Thank you.
>
>> 2) If this is already fixed in current mainline (I can't see how).
>>
>
> It was fixed in 2.6.17.
>
> You'll need 6527c2bdf1f833cc18e8f42bd97973d583e4aa83 and
> 81b0c8713385ce1b1b9058e916edcf9561ad76d6
>
I will try to get this change into customer :(