2002-02-06 04:29:30

by paule

[permalink] [raw]
Subject: Swap issue

Having just upgraded slackware8.0 (2.2 kernel)
to using 2.5.2, (2.5.3 patch install failed looking for malloc.h)
Im unable to use swap, despite it showing a success.

# dd if=/dev/zero of=/swap/swapfile bs=1024 count=131072
13107+0 records in
13107+0 records out
# mkswap -c /swap/swapfile
Setting up swapspace version 1, size = 13414400 bytes
# swapon /swap/swapfile
swapon: /swap/swapfile: Success
# cat /proc/meminfo
MemTotal: 61720 kB
MemFree: 1896 kB
MemShared: 0 kB
Buffers: 8300 kB
Cached: 30712 kB
SwapCached: 0 kB
Active: 25316 kB
Inactive: 19688 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 61720 kB
LowFree: 1896 kB
SwapTotal: 0 kB
SwapFree: 0 kB

I've tried various kernel configurations, and it just doesn't
want to work.

(It was however working under 2.2.x)

Any ideas?

TIA,
--
Paul Edwards
[email protected]


2002-02-06 11:55:34

by Masoud Sharbiani

[permalink] [raw]
Subject: Re: Swap issue

paule wrote:

>Having just upgraded slackware8.0 (2.2 kernel)
>to using 2.5.2, (2.5.3 patch install failed looking for malloc.h)
>Im unable to use swap, despite it showing a success.
>
># dd if=/dev/zero of=/swap/swapfile bs=1024 count=131072
>13107+0 records in
>13107+0 records out
># mkswap -c /swap/swapfile
>Setting up swapspace version 1, size = 13414400 bytes
>
I'd do a sync before turning swap on on a file if I were you.

># swapon /swap/swapfile
>swapon: /swap/swapfile: Success
># cat /proc/meminfo
>MemTotal: 61720 kB
>MemFree: 1896 kB
>MemShared: 0 kB
>Buffers: 8300 kB
>Cached: 30712 kB
>SwapCached: 0 kB
>Active: 25316 kB
>Inactive: 19688 kB
>HighTotal: 0 kB
>HighFree: 0 kB
>LowTotal: 61720 kB
>LowFree: 1896 kB
>SwapTotal: 0 kB
>SwapFree: 0 kB
>
>I've tried various kernel configurations, and it just doesn't
>want to work.
>
>(It was however working under 2.2.x)
>
>Any ideas?
>
>TIA,
>--
>Paul Edwards
>[email protected]
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>



2002-02-06 14:31:05

by Drew P. Vogel

[permalink] [raw]
Subject: Re: Swap issue

What is the output of 'swapon -s'?

--Drew Vogel

On Wed, 6 Feb 2002, paule wrote:

>Having just upgraded slackware8.0 (2.2 kernel)
>to using 2.5.2, (2.5.3 patch install failed looking for malloc.h)
>Im unable to use swap, despite it showing a success.
>
># dd if=/dev/zero of=/swap/swapfile bs=1024 count=131072
>13107+0 records in
>13107+0 records out
># mkswap -c /swap/swapfile
>Setting up swapspace version 1, size = 13414400 bytes
># swapon /swap/swapfile
>swapon: /swap/swapfile: Success
># cat /proc/meminfo
>MemTotal: 61720 kB
>MemFree: 1896 kB
>MemShared: 0 kB
>Buffers: 8300 kB
>Cached: 30712 kB
>SwapCached: 0 kB
>Active: 25316 kB
>Inactive: 19688 kB
>HighTotal: 0 kB
>HighFree: 0 kB
>LowTotal: 61720 kB
>LowFree: 1896 kB
>SwapTotal: 0 kB
>SwapFree: 0 kB
>
>I've tried various kernel configurations, and it just doesn't
>want to work.
>
>(It was however working under 2.2.x)
>
>Any ideas?
>
>TIA,
>--
>Paul Edwards
>[email protected]
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>



2002-02-06 15:40:47

by Hugh Dickins

[permalink] [raw]
Subject: Re: Swap issue

> On Wed, 6 Feb 2002, paule wrote:
>
> >Having just upgraded slackware8.0 (2.2 kernel)
> >to using 2.5.2, (2.5.3 patch install failed looking for malloc.h)
> >Im unable to use swap, despite it showing a success.

Known problem, fixed by Al Viro, additional fix by Andrey Panin:

--- 2.5.2/mm/swapfile.c Sat Jan 19 21:13:17 2002
+++ linux/mm/swapfile.c Wed Feb 6 15:36:10 2002
@@ -904,11 +904,12 @@
swap_file = filp_open(name, O_RDWR, 0);
putname(name);
error = PTR_ERR(swap_file);
- if (error)
+ if (IS_ERR(swap_file))
goto bad_swap_2;

p->swap_file = swap_file;

+ error = -EINVAL;
if (S_ISBLK(swap_file->f_dentry->d_inode->i_mode)) {
p->swap_device = swap_file->f_dentry->d_inode->i_rdev;
set_blocksize(p->swap_device, PAGE_SIZE);
@@ -1072,7 +1073,7 @@
swap_list_unlock();
if (swap_map)
vfree(swap_map);
- if (swap_file)
+ if (swap_file && !IS_ERR(swap_file))
filp_close(swap_file, NULL);
out:
if (swap_header)