mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Samuel Flory <sflory@rackable.com>
Cc: Austin Gonyou <austin@coremetrics.com>,
	Christian Guggenberger 
	<christian.guggenberger@physik.uni-regensburg.de>,
	linux-kernel@vger.kernel.org, linux-xfs@oss.sgi.com
Subject: Re: 2.4.20pre5aa2
Date: Fri, 13 Sep 2002 02:23:16 +0200	[thread overview]
Message-ID: <20020913002316.GG11605@dualathlon.random> (raw)
In-Reply-To: <3D81235B.6080809@rackable.com>

On Thu, Sep 12, 2002 at 04:29:31PM -0700, Samuel Flory wrote:
>  Your patch seem to solve only some  of the xfs issues for me.  Before 
> the patch my system hung when booting.  This only occured I  had xfs 
> compiled into the kernel.   After patching  things seemed fine, but 
> durning "dbench 32" the system locked.  Upon rebooting and attempting to 
> mount the filesystem I got this:
> XFS mounting filesystem md(9,2)
> Starting XFS recovery on filesystem: md(9,2) (dev: 9/2)
> kernel BUG at page_buf.c:578!
> <and so on>
> 
> PS- The results of ksymoops are attached.

that seems a bug in xfs, it BUG() if vmap fails, it must not BUG(), it
must return -ENOMEM to userspace instead, or it can try to recollect and
release some of the other vmalloced entries. Most probably you run into
an address space shortage, not a real ram shortage, so to workaround it
you can recompile with CONFIG_2G and it'll probably work, also dropping
the gap page in vmalloc may help workaround it (there's no config option
for it though). It could be also a vmap leak, maybe a missing vfree,
just some idea.


> 
> Andrea Arcangeli wrote:
> 
> >was a collision between new xfs and new scheduler, you can use this fix
> >in the meantime:
> >
> >--- 2.4.20pre5aa3/fs/xfs/pagebuf/page_buf.c.~1~	Wed Sep 11 05:17:46 
> >2002
> >+++ 2.4.20pre5aa3/fs/xfs/pagebuf/page_buf.c	Wed Sep 11 06:00:35 2002
> >@@ -2055,9 +2055,9 @@ pagebuf_iodone_daemon(
> >	spin_unlock_irq(&current->sigmask_lock);
> >
> >	/* Migrate to the right CPU */
> >-	current->cpus_allowed = 1UL << cpu;
> >-	while (smp_processor_id() != cpu)
> >-		schedule();
> >+	set_cpus_allowed(current, 1UL << cpu);
> >+	if (cpu() != cpu)
> >+		BUG();
> >
> >	sprintf(current->comm, "pagebuf_io_CPU%d", bind_cpu);
> >	INIT_LIST_HEAD(&pagebuf_iodone_tq[cpu]);
> >
> >also remeber to apply the O_DIRECT fixes for reiserfs and ext3 (that
> >were left over after merging the new nfs stuff). all will be fixed in
> >next -aa of course.
> >
> >--- 2.4.19pre3aa1/fs/reiserfs/inode.c.~1~	Tue Mar 12 00:07:18 2002
> >+++ 2.4.19pre3aa1/fs/reiserfs/inode.c	Tue Mar 12 01:24:21 2002
> >@@ -2161,10 +2161,11 @@
> >	}
> >}
> >
> >-static int reiserfs_direct_io(int rw, struct inode *inode, 
> >+static int reiserfs_direct_io(int rw, struct file * filp,
> >                              struct kiobuf *iobuf, unsigned long blocknr,
> >			      int blocksize) 
> >{
> >+    struct inode * inode = filp->f_dentry->d_inode->i_mapping->host;
> >    return generic_direct_IO(rw, inode, iobuf, blocknr, blocksize,
> >                             reiserfs_get_block_direct_io) ;
> >}
> >--- 2.4.20pre5aa2/fs/ext3/inode.c.~1~	Mon Sep  9 02:38:08 2002
> >+++ 2.4.20pre5aa2/fs/ext3/inode.c	Tue Sep 10 05:22:18 2002
> >@@ -1385,9 +1385,10 @@ static int ext3_releasepage(struct page 
> >}
> >
> >static int
> >-ext3_direct_IO(int rw, struct inode *inode, struct kiobuf *iobuf,
> >+ext3_direct_IO(int rw, struct file * filp, struct kiobuf *iobuf,
> >		unsigned long blocknr, int blocksize)
> >{
> >+	struct inode * inode = filp->f_dentry->d_inode->i_mapping->host;
> >	struct ext3_inode_info *ei = EXT3_I(inode);
> >	handle_t *handle = NULL;
> >	int ret;
> >
> >Andrea
> >-
> >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >the body of a message to majordomo@vger.kernel.org
> >More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >Please read the FAQ at  http://www.tux.org/lkml/
> >
> >
> > 
> >
> 

> ksymoops 2.4.5 on i686 2.4.20-pre5aa2-fixed-xfs.  Options used
>      -V (specified)
>      -k /proc/ksyms (default)
>      -l /proc/modules (default)
>      -o /lib/modules/2.4.20-pre5aa2-fixed-xfs/ (default)
>      -m /boot/System.map-2.4.20-pre5aa2-fixed-xfs (default)
> 
> kernel BUG at page_buf.c:578!
> invalid operand: 0000 2.4.20-pre5aa2-fixed-xfs #4 SMP Thu Sep 12 11:51:40 PDT 2002
> CPU:    1
> EIP:    0010:[<c0208592>]    Not tainted
> Using defaults from ksymoops -t elf32-i386 -a i386
> EFLAGS: 00010246
> eax: 00000000   ebx: 00000001   ecx: 00000001   edx: 00000000
> esi: c5e15a04   edi: c5e15980   ebp: 00000002   esp: c5c19a58
> ds: 0018   es: 0018   ss: 0018
> Process mount (pid: 805, stackpage=c5c19000)
> Stack: c5c18000 00001000 00000000 00000001 00000000 00000005 000001f0 00000002 
>        c5e15980 c5e15980 00002205 c5e20540 c02089c8 c5e15980 c5c117b4 00002205 
>        13005f90 00000000 c5912d40 13005f90 00000000 c01f4d2d c5912d40 13005f90 
> Call Trace:    [<c02089c8>] [<c01f4d2d>] [<c01f45e1>] [<c01f463a>] [<c01f58b2>]
>   [<c01f59f6>] [<c01f5b5a>] [<c01f6744>] [<c01f6c74>] [<c01f6cc4>] [<c01f6e45>]
>   [<c01efde7>] [<c01f861c>] [<c01f776b>] [<c01f77b0>] [<c01ff894>] [<c01ff97b>]
>   [<c0212ce6>] [<c0148c81>] [<c0148e9c>] [<c014dfb8>] [<c015c145>] [<c015c43b>]
>   [<c015c29c>] [<c015c904>] [<c0108d9b>]
> Code: 0f 0b 42 02 95 ab 35 c0 0f b7 47 7c 81 4f 08 04 00 00 01 8d 
> 
> 
> >>EIP; c0208592 <_pagebuf_lookup_pages+2a2/2f0>   <=====
> 
> >>esi; c5e15a04 <END_OF_CODE+7abc1/????>
> >>edi; c5e15980 <END_OF_CODE+7ab3d/????>
> >>esp; c5c19a58 <[ip_tables].data.end+116159/294761>
> 
> Trace; c02089c8 <pagebuf_get+98/120>
> Trace; c01f4d2d <xlog_recover_do_buffer_trans+fd/230>
> Trace; c01f45e1 <xlog_recover_insert_item_frontq+11/20>
> Trace; c01f463a <xlog_recover_reorder_trans+4a/90>
> Trace; c01f58b2 <xlog_recover_do_trans+52/100>
> Trace; c01f59f6 <xlog_recover_commit_trans+26/40>
> Trace; c01f5b5a <xlog_recover_process_data+12a/1d0>
> Trace; c01f6744 <xlog_do_recovery_pass+354/800>
> Trace; c01f6c74 <xlog_do_log_recovery+84/b0>
> Trace; c01f6cc4 <xlog_do_recover+24/110>
> Trace; c01f6e45 <xlog_recover+95/c0>
> Trace; c01efde7 <xfs_log_mount+77/b0>
> Trace; c01f861c <xfs_mountfs+a7c/fe0>
> Trace; c01f776b <xfs_readsb+3b/c0>
> Trace; c01f77b0 <xfs_readsb+80/c0>
> Trace; c01ff894 <xfs_cmountfs+574/610>
> Trace; c01ff97b <xfs_mount+4b/60>
> Trace; c0212ce6 <linvfs_read_super+f6/240>
> Trace; c0148c81 <get_sb_bdev+1b1/230>
> Trace; c0148e9c <do_kern_mount+5c/120>
> Trace; c014dfb8 <link_path_walk+918/a20>
> Trace; c015c145 <do_add_mount+75/180>
> Trace; c015c43b <do_mount+14b/170>
> Trace; c015c29c <copy_mount_options+4c/a0>
> Trace; c015c904 <sys_mount+a4/100>
> Trace; c0108d9b <system_call+33/38>
> 
> Code;  c0208592 <_pagebuf_lookup_pages+2a2/2f0>
> 00000000 <_EIP>:
> Code;  c0208592 <_pagebuf_lookup_pages+2a2/2f0>   <=====
>    0:   0f 0b                     ud2a      <=====
> Code;  c0208594 <_pagebuf_lookup_pages+2a4/2f0>
>    2:   42                        inc    %edx
> Code;  c0208595 <_pagebuf_lookup_pages+2a5/2f0>
>    3:   02 95 ab 35 c0 0f         add    0xfc035ab(%ebp),%dl
> Code;  c020859b <_pagebuf_lookup_pages+2ab/2f0>
>    9:   b7 47                     mov    $0x47,%bh
> Code;  c020859d <_pagebuf_lookup_pages+2ad/2f0>
>    b:   7c 81                     jl     ffffff8e <_EIP+0xffffff8e>
> Code;  c020859f <_pagebuf_lookup_pages+2af/2f0>
>    d:   4f                        dec    %edi
> Code;  c02085a0 <_pagebuf_lookup_pages+2b0/2f0>
>    e:   08 04 00                  or     %al,(%eax,%eax,1)
> Code;  c02085a3 <_pagebuf_lookup_pages+2b3/2f0>
>   11:   00 01                     add    %al,(%ecx)
> Code;  c02085a5 <_pagebuf_lookup_pages+2b5/2f0>
>   13:   8d 00                     lea    (%eax),%eax
> 



Andrea

  parent reply	other threads:[~2002-09-13  0:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-11 18:16 2.4.20pre5aa2 Christian Guggenberger
2002-09-11 18:24 ` 2.4.20pre5aa2 Austin Gonyou
2002-09-11 18:28   ` 2.4.20pre5aa2 Christian Guggenberger
     [not found]     ` <1031769317.24629.28.camel@UberGeek.coremetrics.com>
2002-09-11 18:45       ` 2.4.20pre5aa2 Christian Guggenberger
2002-09-11 18:51         ` 2.4.20pre5aa2 Austin Gonyou
2002-09-11 18:41   ` 2.4.20pre5aa2 Andrea Arcangeli
2002-09-12 23:29     ` 2.4.20pre5aa2 Samuel Flory
2002-09-12 23:45       ` 2.4.20pre5aa2 Stephen Lord
2002-09-13  0:06         ` 2.4.20pre5aa2 Samuel Flory
2002-09-13  0:23       ` Andrea Arcangeli [this message]
2002-09-13  0:47         ` 2.4.20pre5aa2 Stephen Lord
2002-09-13  0:54           ` 2.4.20pre5aa2 Andrea Arcangeli
2002-09-13  2:14             ` 2.4.20pre5aa2 Samuel Flory
2002-09-13 12:53               ` 2.4.20pre5aa2 Andrea Arcangeli
2002-09-13 21:09                 ` 2.4.20pre5aa2 Samuel Flory
2002-09-13 21:18                   ` 2.4.20pre5aa2 Andrea Arcangeli
2002-09-14 14:39                     ` 2.4.20pre5aa2 Stephen Lord
2002-09-15 11:13                       ` 2.4.20pre5aa2 Andi Kleen
2002-09-15 19:39                         ` 2.4.20pre5aa2 Samuel Flory
2002-09-16 16:03                 ` 2.4.20pre5aa2 Dave Hansen
2002-09-16 16:20                   ` 2.4.20pre5aa2 Andrea Arcangeli
2002-09-16 16:39                     ` 2.4.20pre5aa2 Dave Hansen
2002-09-13  1:27           ` 2.4.20pre5aa2 Samuel Flory
2002-09-13  2:14             ` 2.4.20pre5aa2 Samuel Flory
2002-09-13  1:18         ` 2.4.20pre5aa2 Samuel Flory
2002-09-13 19:17           ` 2.4.20pre5aa2 Stephen Lord
2002-09-11 18:44 ` 2.4.20pre5aa2 Christoph Hellwig
2002-09-11 19:11   ` 2.4.20pre5aa2 Christian Guggenberger
  -- strict thread matches above, loose matches on Subject: below --
2002-09-09 16:50 2.4.20pre5aa2 Andrea Arcangeli
2002-09-10 18:51 ` 2.4.20pre5aa2 Joe Kellner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020913002316.GG11605@dualathlon.random \
    --to=andrea@suse.de \
    --cc=austin@coremetrics.com \
    --cc=christian.guggenberger@physik.uni-regensburg.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@oss.sgi.com \
    --cc=sflory@rackable.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome