lkml.org 
[lkml]   [1999]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjecterrors/oopses when turning off a swap file
    Hi all!

    I've had some problems while turning off one of my swap files when
    running a rather heavily swapping computation. I dont know whether
    it's reproducable. Down below is an excerpt of my syslog and some
    additional info. Anyone ideas on what this is, patches for {making it
    go away,doing additional error reporting} or hints on what I should
    watch for?

    I know for sure that I'm not running out of swap because I'm turning a
    swap file off. It's probably got something to do with emptying the
    swap file or something, but I'm not very deep into the MM/VM stuff, so I
    can only guess.

    Is this a bug? Is this 'bug' known? Or shouldn't I be turning off a
    part of my swap while swapping?

    Thanks in advance

    Lennert Buytenhek
    <buytenh@dsv.nl>

    (I don't read this list (other than through kt.opensrc.org), so please
    CC me. And dont expect a real quick response. A week might be like it.)



    data:
    - uniprocessor PPro 200 with 32 mb
    - kernel is 2.2.7/2.2.9/2.3.2-devfs (rgooch's /dev fs patches)
    - gcc is 2.7.2.3 (egcs 1.1.2 with or without -march=pentiumpro,
    -mcpu=pentiumpro does the same thing)
    - tries_base is 1024, tries_min is 32, swap_cluster is 512
    - three swap files:
    - /swap 16 megs
    - /swap2 16 megs
    - /dosc/swap 64 megs, on a DOS (fat16) partition on a separate disk
    - average swap usage is ~25megs
    - running 'dyntree', a computation with a working set which grows to
    ~50 megs after a minute or 5 (it's a dynamic algorithm
    for computing an optimal binary search tree for a few
    thousand nodes. but I think any heavy stuff will do)

    I just wanted to give my box a hard time, I don't _need_ this
    computation for anything.



    Here are a few problem scenarios:

    2.2.7
    =====
    VC2:
    [root@indigo vm]# /sbin/swapon /swap
    [root@indigo vm]# /sbin/swapon /swap2
    [root@indigo vm]# /sbin/swapon /dosc/swap

    VC1:
    [lbuyten@indigo vm]# ./dyntree &

    VC2:
    [root@indigo vm]# /sbin/swapoff /swap
    [root@indigo vm]# /sbin/swapoff /swap2
    [root@indigo vm]# /sbin/swapoff /dosc/swap
    [root@indigo vm]# /sbin/swapon /swap -> Oops
    [root@indigo vm]# /sbin/swapon /swap2 -> Oops
    [root@indigo vm]# /sbin/swapon /dosc/swap -> No problem

    [root@indigo vm]# cat /proc/swaps -> Oops


    2.3.2-devfs (somewhat more detailed, horror follows)
    ===========

    VC1:
    [lbuyten@indigo tree]# ./dyntree &

    VC2:
    [root@indigo vm]# cat kswapd
    1024 32 512

    [root@indigo vm]# /sbin/swapoff /swap
    try_to_unuse: entry 00034104 count=1
    rw_swap_page: Trying to read unallocated swap (00034104)
    swap_count at 34104: entry 00034104, unused page!
    swap_free: swap-space map bad (entry 00034104)

    [root@indigo vm]# /sbin/swapoff /swap2
    try_to_unuse: entry 00029202 count=1
    rw_swap_page: Trying to read unallocated swap (00029202)
    swap_count at 29202: entry 00029202, unused page!
    swap_free: swap-space map bad (entry 00029202)
    try_to_unuse: entry 0002b602 count=1
    rw_swap_page: Trying to read unallocated swap (0002b602)
    swap_count at 2b602: entry 0002b602, unused page!
    swap_free: swap-space map bad (entry 0002b602)

    [root@indigo vm]# /sbin/swapon /swap
    [root@indigo vm]# /sbin/swapon /swap2

    [root@indigo vm]# /sbin/swapoff /dosc/swap
    swap_duplicate at 6d302: entry 0006d302, unused page
    swap_duplicate at 6d502: entry 0006d502, unused page
    swap_duplicate at 6d802: entry 0006d802, unused page
    swap_duplicate at 6d902: entry 0006d902, unused page
    swap_duplicate at 6da02: entry 0006da02, unused page
    swap_duplicate at 6dc02: entry 0006dc02, unused page
    swap_duplicate at 6de02: entry 0006de02, unused page
    swap_duplicate at 6df02: entry 0006df02, unused page
    try_to_unuse: entry 00070102 count=1
    rw_swap_page: Trying to read unallocated swap (00070102)
    swap_count at 70102: entry 00070102, unused page!
    swap_free: swap-space map bad (entry 00070102)

    [root@indigo vm]# /sbin/swapon /dosc/swap

    [root@indigo vm]# /sbin/swapoff /dosc/swap
    try_to_unuse: entry 00048800 count=1
    rw_swap_page: Trying to read unallocated swap (00048800)
    swap_count at 48800: entry 00048800, unused page!
    swap_free: swap-space map bad (entry 00048800)
    try_to_unuse: entry 0005b000 count=1
    rw_swap_page: Trying to read unallocated swap (0005b000)
    swap_count at 5b000: entry 0005b000, unused page!
    swap_free: swap-space map bad (entry 0005b000)
    try_to_unuse: entry 0007f000 count=1
    rw_swap_page: Trying to read unallocated swap (0007f000)
    swap_count at 7f000: entry 0007f000, unused page!
    swap_free: swap-space map bad (entry 0007f000)
    try_to_unuse: entry 00082000 count=1
    rw_swap_page: Trying to read unallocated swap (00082000)
    swap_count at 82000: entry 00082000, unused page!
    swap_free: swap-space map bad (entry 00082000)
    try_to_unuse: entry 00084100 count=1
    rw_swap_page: Trying to read unallocated swap (00084100)
    swap_count at 84100: entry 00084100, unused page!
    swap_free: swap-space map bad (entry 00084100)
    try_to_unuse: entry 0008b000 count=1
    rw_swap_page: Trying to read unallocated swap (0008b000)
    swap_count at 8b000: entry 0008b000, unused page!
    swap_free: swap-space map bad (entry 0008b000)

    [root@indigo vm]# /sbin/swapon /dosc/swap
    Unable to handle kernel NULL pointer dereference at virtual address 00000008
    current->tss.cr3 = 011db000,
    *pde = 00000000
    Oops: 0000
    CPU: 0
    EIP: 0010:[<c0124281>] <====== sys_swapon is at c0123fb4
    EFLAGS: 00010202
    eax: 00000000 ebx: c02d6ff4 ecx: 00000003 edx: 00000001
    esi: c139f8e0 edi: c139f8e0 ebp: 00000000 esp: c0f59f20
    ds: 0018 es: 0018 ss: 0018
    Process swapon (pid: 1226, process nr: 31, stackpage=c0f59000)
    Stack: 08048d29 bffffce0 c02d4364 c0094690 c18a4cc0 c011b504 c011b581 c00521ec
    008e3025 c02d6ff4 fffffff0 c028d4a0 00000000 008e3025 00000000 00001000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Call Trace: [<c011b504>] [<c011b581>] [<c0109044>]
    Code: 8b 40 08 39 47 08 0f 84 6b 04 00 00 42 39 ca 72 de 31 d2 b8

    [root@indigo vm]# cat /proc/swaps
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    current->tss.cr3 = 011db000,
    *pde = 00000000
    Oops: 0000
    CPU: 0
    EIP: 0010:[<c0123f40>] <====== get_swaparea_info is at c0123e80
    EFLAGS: 00010297
    eax: 00000001 ebx: 0000004a ecx: 00000000 edx: 00000000
    esi: c084d000 edi: c02d6ff4 ebp: 00000000 esp: c0f59f24
    ds: 0018 es: 0018 ss: 0018
    Process cat (pid: 1229, process nr: 31, stackpage=c0f59000)
    Stack: c02720dc 00000400 00000001 00000000 c084d000 c015210e c168c000 0000001d
    c168c000 c015237e c168c000 0000001d c0f59f8c 00000000 00000400 c133b3e0
    0804af10 0804af10 00000400 0000001d 00000001 c028fd60 00000000 c0f58000
    Call Trace: [<c015210e>] [<c015237e>] [<c0125ab2>] [<c0109044>]
    Code: 0f b7 44 55 00 85 c0 74 08 3d 00 80 00 00 74 01 41 42 39 54


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

    \
     
     \ /
      Last update: 2005-03-22 13:51    [W:8.735 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site