linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
To: "Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
Cc: linux-mm <linux-mm@kvack.org>
Subject: Re: [RFC:PATCH 00/07] VM File Tails
Date: Fri, 31 Aug 2007 16:47:06 -0500	[thread overview]
Message-ID: <1188596826.20134.6.camel@norville.austin.ibm.com> (raw)
In-Reply-To: <20070831180006.2033828d@localhost>

On Fri, 2007-08-31 at 18:00 -0300, Luiz Fernando N. Capitulino wrote:
> Hi Dave,
> 
> Em Wed, 29 Aug 2007 16:53:25 -0400
> Dave Kleikamp <shaggy@linux.vnet.ibm.com> escreveu:
> 
> | This is a rewrite of my "VM File Tails" work.  The idea is to store tails
> | of files that are smaller than the base page size in kmalloc'ed memory,
> | allowing more efficient use of memory.  This is especially important when
> | the base page size is large, such as 64 KB on powerpc.
> 
>  I've got the OOPS below while trying this series.
> 
>  It has happened while halting the machine, but before this one I've
> got two hangs and a OOPS, but was unable to get the backtrace because
> the serial console wasn't working properly. Now it did.
> 
>  I've tried to reproduce it many times w/o success.
> 
> [ 2618.789047] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000044
> [ 2618.891267]  printing eip:
> [ 2618.923588] c0157120
> [ 2618.949679] *pde = 00000000
> [ 2618.983052] Oops: 0000 [#1]
> [ 2619.016400] SMP 
> [ 2619.038542] Modules linked in: nfs lockd nfs_acl sunrpc capability commoncap af_packet ipv6 ide_cd ide_core binfmt_misd
> [ 2619.546147] CPU:    0
> [ 2619.546148] EIP:    0060:[<c0157120>]    Not tainted VLI
> [ 2619.546149] EFLAGS: 00010286   (2.6.23-rc4-vm1 #5)
> [ 2619.694076] EIP is at find_get_page+0x10/0xa0
> [ 2619.746151] eax: c0368ee0   ebx: d96c0060   ecx: 00000000   edx: 0000000a
> [ 2619.827340] esi: d96c0000   edi: c0368ee0   ebp: d8627e28   esp: d8627e18
> [ 2619.908526] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> [ 2619.978280] Process udevd (pid: 18087, ti=d8627000 task=d42f3080 task.ti=d8627000)
> [ 2620.066743] Stack: 0000000a d96c0060 d96c0000 d96c0018 d8627e30 c016cbef d8627e74 c01721c5 
> [ 2620.167577]        d8627f7c c0178b5f 00008001 c03c70c0 d8627ed0 00000000 d96c0060 c01753b1 
> [ 2620.268412]        d96c0114 0000000a d8627e84 00000000 d96c0060 00000019 00000000 d8627e98 
> [ 2620.369247] Call Trace:
> [ 2620.400641]  [<c01053fa>] show_trace_log_lvl+0x1a/0x30
> [ 2620.462181]  [<c01054bb>] show_stack_log_lvl+0xab/0xd0
> [ 2620.523720]  [<c01056b1>] show_registers+0x1d1/0x2d0
> [ 2620.583183]  [<c01058c6>] die+0x116/0x250
> [ 2620.631208]  [<c011bb6b>] do_page_fault+0x28b/0x6a0
> [ 2620.689631]  [<c02e80ca>] error_code+0x72/0x78
> [ 2620.742854]  [<c016cbef>] lookup_swap_cache+0xf/0x30
> [ 2620.802316]  [<c01721c5>] shmem_getpage+0x225/0x690
> [ 2620.860736]  [<c017271a>] shmem_fault+0x7a/0xb0
> [ 2620.914999]  [<c01630d5>] __do_fault+0x55/0x3a0
> [ 2620.969265]  [<c0165677>] handle_mm_fault+0x107/0x740
> [ 2621.029765]  [<c011bcfd>] do_page_fault+0x41d/0x6a0
> [ 2621.088186]  [<c02e80ca>] error_code+0x72/0x78
> [ 2621.141411]  =======================
> [ 2621.184134] Code: c3 0f 0b eb fe 8d b6 00 00 00 00 8b 52 0c eb b8 8d 74 26 00 8d bc 27 00 00 00 00 55 89 e5 57 89 c7 5 
> [ 2621.416574] EIP: [<c0157120>] find_get_page+0x10/0xa0 SS:ESP 0068:d8627e18
> [ 2621.499188] note: udevd[18087] exited with preempt_count 1

I'm not sure exactly what's going on.  mapping->host can't be NULL, can
it?  This patch is an improvement, but I'm not sure if it will fix the
problem.  I won't have much time to look at this until next week, but
feel free to give this a try.

Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>

diff -Nurp linux.orig/include/linux/vm_file_tail.h linux/include/linux/vm_file_tail.h
--- linux.orig/include/linux/vm_file_tail.h	2007-08-29 13:27:46.000000000 -0500
+++ linux/include/linux/vm_file_tail.h	2007-08-31 16:25:49.000000000 -0500
@@ -54,7 +54,7 @@ void vm_file_tail_unpack(struct address_
 static inline void vm_file_tail_unpack_index(struct address_space *mapping,
 					     unsigned long index)
 {
-	if (index == vm_file_tail_index(mapping) && mapping->tail)
+	if (mapping->tail && index == vm_file_tail_index(mapping))
 		vm_file_tail_unpack(mapping);
 }
 

Thanks,
Shaggy
-- 
David Kleikamp
IBM Linux Technology Center

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-08-31 21:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-29 20:53 Dave Kleikamp
2007-08-29 20:53 ` [RFC:PATCH 01/07] Add tail to address space Dave Kleikamp
2007-08-29 20:53 ` [RFC:PATCH 02/07] Core function for packing, unpacking, and freeing file tails Dave Kleikamp
2007-08-29 20:53 ` [RFC:PATCH 03/07] Release tail when inode is freed Dave Kleikamp
2007-08-29 20:53 ` [RFC:PATCH 04/07] Unpack or remove file tail when inode is resized Dave Kleikamp
2007-08-29 20:53 ` [RFC:PATCH 05/07] find_get_page() and find_lock_page() need to unpack the tail Dave Kleikamp
2007-08-29 20:54 ` [RFC:PATCH 06/07] For readahead, leave data in tail Dave Kleikamp
2007-08-29 20:54 ` [RFC:PATCH 07/07] shrink_active_list: pack file tails rather than move to inactive list Dave Kleikamp
2007-08-29 21:31 ` [RFC:PATCH 00/07] VM File Tails Jörn Engel
2007-08-29 21:45   ` Dave Kleikamp
2007-08-29 23:38     ` Jörn Engel
2007-08-30  2:15       ` Dave Kleikamp
2007-08-30 10:11         ` Jörn Engel
2007-08-31 21:00 ` Luiz Fernando N. Capitulino
2007-08-31 21:47   ` Dave Kleikamp [this message]
2007-09-03 21:09     ` Luiz Fernando N. Capitulino

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=1188596826.20134.6.camel@norville.austin.ibm.com \
    --to=shaggy@linux.vnet.ibm.com \
    --cc=lcapitulino@mandriva.com.br \
    --cc=linux-mm@kvack.org \
    /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