Re: unused swap offset / bad page map.

From: Dave Jones
Date: Thu Aug 22 2013 - 23:21:44 EST


On Thu, Aug 22, 2013 at 11:21:28AM +0800, Hillf Danton wrote:
> On Thu, Aug 22, 2013 at 4:49 AM, Dave Jones <davej@xxxxxxxxxx> wrote:
> >
> > didn't hit the bug_on, but got a bunch of
> >
> > [ 424.077993] swap_free: Unused swap offset entry 000187d5
> > [ 439.377194] swap_free: Unused swap offset entry 000187e7
> > [ 441.998411] swap_free: Unused swap offset entry 000187ee
> > [ 446.956551] swap_free: Unused swap offset entry 0000245f
> >
> If page is reused, its swap entry is freed.
>
> reuse_swap_page()
> delete_from_swap_cache()
> swapcache_free()
> count = swap_entry_free(p, entry, SWAP_HAS_CACHE);
>
> If count drops to zero, then swap_free() gives warning.
>
>
> --- a/mm/memory.c Wed Aug 7 16:29:34 2013
> +++ b/mm/memory.c Thu Aug 22 10:44:32 2013
> @@ -3123,6 +3123,7 @@ static int do_swap_page(struct mm_struct
> /* It's better to call commit-charge after rmap is established */
> mem_cgroup_commit_charge_swapin(page, ptr);
>
> + if (!exclusive)
> swap_free(entry);
> if (vm_swap_full() || (vma->vm_flags & VM_LOCKED) || PageMlocked(page))
> try_to_free_swap(page);
> --

I still see the swap_free messages with this applied.

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/