From: Nagachandra P Subject: (unknown) Date: Tue, 25 Jun 2013 14:55:33 +0530 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: linux-ext4@vger.kernel.org To: Vikram MP Return-path: Received: from mail-lb0-f176.google.com ([209.85.217.176]:39054 "EHLO mail-lb0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751028Ab3FYJZg (ORCPT ); Tue, 25 Jun 2013 05:25:36 -0400 Received: by mail-lb0-f176.google.com with SMTP id z5so807422lbh.21 for ; Tue, 25 Jun 2013 02:25:33 -0700 (PDT) Subject: Sender: linux-ext4-owner@vger.kernel.org List-ID: Hi, Here are some details on the platform Linux kernel version - 3.4.5 Android - 4.2.2 ext4 mounted with *errors=panic* option. We see memory allocation failures mostly caused by low memory kill the ext4 process which is waiting for a allocation on slow path. (below is one such instance) select 26413 (AsyncTask #3), score_adj 647, adj 10,size 15287, to kill send sigkill to 26413 (AsyncTask #3), score_adj 647,adj 10, size 15287 with ofree -450 10896, cfree 27845 984 msa 529 ma 8 AsyncTask #3: page allocation failure: order:0, mode:0x80050 [] (unwind_backtrace+0x0/0x11c) from [] (warn_alloc_failed+0xe8/0x110) [] (warn_alloc_failed+0xe8/0x110) from [] (__alloc_pages_nodemask+0x6d4/0x800) [] (__alloc_pages_nodemask+0x6d4/0x800) from [] (cache_alloc_refill+0x30c/0x6a4) [] (cache_alloc_refill+0x30c/0x6a4) from [] (kmem_cache_alloc+0xa0/0x1b8) [] (kmem_cache_alloc+0xa0/0x1b8) from [] (ext4_free_blocks+0x9c4/0xa08) [] (ext4_free_blocks+0x9c4/0xa08) from [] (ext4_ext_remove_space+0x690/0xd9c) [] (ext4_ext_remove_space+0x690/0xd9c) from [] (ext4_ext_truncate+0x100/0x1c8) [] (ext4_ext_truncate+0x100/0x1c8) from [] (ext4_truncate+0xf4/0x194) [] (ext4_truncate+0xf4/0x194) from [] (ext4_setattr+0x36c/0x3f8) [] (ext4_setattr+0x36c/0x3f8) from [] (notify_change+0x1dc/0x2a8) [] (notify_change+0x1dc/0x2a8) from [] (do_truncate+0x74/0x90) [] (do_truncate+0x74/0x90) from [] (do_sys_ftruncate+0x13c/0x144) [] (do_sys_ftruncate+0x13c/0x144) from [] (sys_ftruncate+0x18/0x1c) [] (sys_ftruncate+0x18/0x1c) from [] (ret_fast_syscall+0x0/0x48) followed by.... SLAB: Unable to allocate memory on node 0 (gfp=0x80050) cache: ext4_free_data, object size: 64, order: 0 node 0: slabs: 0/0, objs: 0/0, free: 0 EXT4-fs error (device mmcblk0p26) in ext4_free_blocks:4700: Out of memory Aborting journal on device mmcblk0p26-8. EXT4-fs error (device mmcblk0p26): ext4_journal_start_sb:328: Detected aborted journal EXT4-fs (mmcblk0p26): Remounting filesystem read-only Kernel panic - not syncing: EXT4-fs panic from previous error [] (unwind_backtrace+0x0/0x11c) from [] (panic+0x80/0x1cc) [] (panic+0x80/0x1cc) from [] (__ext4_abort+0xc0/0xe0) [] (__ext4_abort+0xc0/0xe0) from [] (ext4_journal_start_sb+0x194/0x1c4) [] (ext4_journal_start_sb+0x194/0x1c4) from [] (ext4_dirty_inode+0x14/0x40) [] (ext4_dirty_inode+0x14/0x40) from [] (__mark_inode_dirty+0x2c/0x1b4) [] (__mark_inode_dirty+0x2c/0x1b4) from [] (file_update_time+0xfc/0x11c) [] (file_update_time+0xfc/0x11c) from [] (__generic_file_aio_write+0x2d8/0x40c) [] (__generic_file_aio_write+0x2d8/0x40c) from [] (generic_file_aio_write+0x60/0xc8) [] (generic_file_aio_write+0x60/0xc8) from [] (ext4_file_write+0x244/0x2b4) [] (ext4_file_write+0x244/0x2b4) from [] (do_sync_write+0x9c/0xd8) [] (do_sync_write+0x9c/0xd8) from [] (vfs_write+0xb0/0x128) [] (vfs_write+0xb0/0x128) from [] (sys_write+0x38/0x64) [] (sys_write+0x38/0x64) from [] (ret_fast_syscall+0x0/0x48) Is there a way in which we could avoid ext4 panic caused by allocation failure (a method other than setting errors=continue :-) )? (or is memory allocation failure considered as fatal as any other IO error) Thanks Nagachandra