lkml.org 
[lkml]   [2012]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: swapoff() runs forever
Am 09.04.2012 20:40, schrieb Hugh Dickins:
> On Mon, 9 Apr 2012, Richard Weinberger wrote:
>> Am 09.04.2012 07:35, schrieb Konstantin Khlebnikov:
>>> Richard Weinberger wrote:
>>>> Hi!
>>>>
>>>> I'm observing a strange issue (at least on UML) on recent Linux kernels.
>>>> If swap is being used the swapoff() system call never terminates.
>>>> To be precise "while ((i = find_next_to_unuse(si, i)) != 0)" in try_to_unuse()
>>>> never terminates.
>>>>
>>>> The affected machine has 256MiB ram and 256MiB swap.
>>>> If an application uses more than 256MiB memory swap is being used.
>>>> But after the application terminates the free command still reports that a few
>>>> MiB are on my swap device and swappoff never terminates.
>>>
>>> After last tmpfs changes swapoff can take minutes.
>>> Or this time it really never terminates?
>>
>> I've never waited forever. ;-)
>
> Your lack of dedication is disappointing.
>
>> Once I've waited for>30 minutes.
>>
>> I don't think that it's related to tmpfs because it happens
>> also while shutting down the system after all filesystems have been unmounted.
>
> Like you I'd assume that it is really was going to be forever,
> rather than swapoff just being characteristically slow:
> a few MiB left on swap shouldn't take long to get off.
>
> I've not seen any such issue in recent months (or years), but
> I've not been using UML either. The most likely cause that springs
> to mind would be corruption of the vmalloc'ed swap map: that would
> be very likely to cause such a hang.

Okay, I'll dig into this.

> You say "recent Linux kernels": I wonder what "recent" means.
> Is this something you can reproduce quickly and reliably enough
> to do a bisection upon?
>

It happens quite reliably on 3.2 and 3.3.
On 3.1 and 3.0 sometimes.
I've already wasted half a day with bisecting it.

Thanks,
//richard


\
 
 \ /
  Last update: 2012-04-09 21:47    [from the cache]
©2003-2011 Jasper Spaans