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>
next prev parent 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