linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
To: mhocko@kernel.org, akpm@linux-foundation.org
Cc: torvalds@linux-foundation.org, hannes@cmpxchg.org,
	mgorman@suse.de, rientjes@google.com, hillf.zj@alibaba-inc.com,
	kamezawa.hiroyu@jp.fujitsu.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] OOM detection rework v4
Date: Fri, 11 Mar 2016 19:45:29 +0900	[thread overview]
Message-ID: <201603111945.FHI64215.JVOFLHQFOMOSFt@I-love.SAKURA.ne.jp> (raw)
In-Reply-To: <1450203586-10959-1-git-send-email-mhocko@kernel.org>

(Posting as a reply to this thread.)

I was trying to test side effect of "oom, oom_reaper: disable oom_reaper for
oom_kill_allocating_task" compared to "oom: clear TIF_MEMDIE after oom_reaper
managed to unmap the address space" using a reproducer shown below.

---------- Reproducer start ----------
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sched.h>
#include <sys/prctl.h>
#include <signal.h>

static char buffer[4096] = { };

static int file_io(void *unused)
{
	const int fd = open(buffer, O_WRONLY | O_CREAT | O_APPEND, 0600);
	sleep(2);
	while (write(fd, buffer, sizeof(buffer)) > 0);
	close(fd);
	return 0;
}

int main(int argc, char *argv[])
{
	int i;
	if (chdir("/tmp"))
		return 1;
	for (i = 0; i < 64; i++)
		if (fork() == 0) {
			static cpu_set_t set = { { 1 } };
			const int fd = open("/proc/self/oom_score_adj", O_WRONLY);
			write(fd, "1000", 4);
			close(fd);
			sched_setaffinity(0, sizeof(set), &set);
			snprintf(buffer, sizeof(buffer), "file_io.%02u", i);
			prctl(PR_SET_NAME, (unsigned long) buffer, 0, 0, 0);
			for (i = 0; i < 16; i++)
				clone(file_io, malloc(1024) + 1024, CLONE_VM, NULL);
			while (1)
				pause();
		}
	{ /* A dummy process for invoking the OOM killer. */
		char *buf = NULL;
		unsigned long i;
		unsigned long size = 0;
		prctl(PR_SET_NAME, (unsigned long) "memeater", 0, 0, 0);
		for (size = 1048576; size < 512UL * (1 << 30); size <<= 1) {
			char *cp = realloc(buf, size);
			if (!cp) {
				size >>= 1;
				break;
			}
			buf = cp;
		}
		sleep(4);
		for (i = 0; i < size; i += 4096)
			buf[i] = '\0'; /* Will cause OOM due to overcommit */
	}
	kill(-1, SIGKILL);
	return * (char *) NULL; /* Not reached. */
}
---------- Reproducer end ----------

The characteristic of this reproducer is that the OOM killer chooses the same mm
for multiple times due to clone(!CLONE_SIGHAND && CLONE_VM) and the OOM reaper
happily skips reaping that mm due to marking that mm_struct as MMF_OOM_KILLED or
marking only first victim's signal_struct as OOM_SCORE_ADJ_MIN, which means that
nobody can unlock TIF_MEMDIE when non-first victim cannot terminate.

But the problem I can hit trivially is that kswapd got stuck at unkillable lock
when all allocating tasks are waiting at congestion_wait(). This situation resembles
http://lkml.kernel.org/r/201602092349.ACG81273.OSVtMJQHLOFOFF@I-love.SAKURA.ne.jp
but not looping at too_many_isolated() in shrink_inactive_list().
I don't know what is happening.

Complete log is at http://I-love.SAKURA.ne.jp/tmp/serial-20160311.txt.xz .
---------- console log start ----------
[   81.282661] memeater invoked oom-killer: gfp_mask=0x24280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), order=0, oom_score_adj=0
[   81.297589] memeater cpuset=/ mems_allowed=0
[   81.303615] CPU: 2 PID: 1239 Comm: memeater Tainted: G        W       4.5.0-rc7-next-20160310 #103
(...snipped...)
[   81.456295] Out of memory: Kill process 1240 (file_io.00) score 999 or sacrifice child
[   81.459768] Killed process 1240 (file_io.00) total-vm:4308kB, anon-rss:84kB, file-rss:0kB, shmem-rss:0kB
[   81.682547] ksmtuned invoked oom-killer: gfp_mask=0x24084c0(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO), order=0, oom_score_adj=0
[   81.703992] ksmtuned cpuset=/ mems_allowed=0
[   81.709402] CPU: 1 PID: 2330 Comm: ksmtuned Tainted: G        W       4.5.0-rc7-next-20160310 #103
(...snipped...)
[   81.928733] Out of memory: Kill process 1248 (file_io.00) score 1000 or sacrifice child
[   81.932194] Killed process 1248 (file_io.00) total-vm:4308kB, anon-rss:104kB, file-rss:1044kB, shmem-rss:0kB
(...snipped...)
[  136.837273] Node 0 DMA free:3864kB min:60kB low:72kB high:84kB active_anon:9504kB inactive_anon:84kB active_file:140kB inactive_file:448kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:15988kB managed:15904kB mlocked:0kB dirty:448kB writeback:0kB mapped:172kB shmem:84kB slab_reclaimable:164kB slab_unreclaimable:692kB kernel_stack:448kB pagetables:156kB unstable:0kB
bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:4244 all_unreclaimable? yes
[  136.858075] lowmem_reserve[]: 0 953 953 953
[  136.860609] Node 0 DMA32 free:3648kB min:3780kB low:4752kB high:5724kB active_anon:783216kB inactive_anon:6376kB active_file:33388kB inactive_file:40292kB unevictable:0kB isolated(anon):0kB
isolated(file):128kB present:1032064kB managed:980816kB mlocked:0kB dirty:40232kB writeback:120kB mapped:34720kB shmem:6628kB slab_reclaimable:10528kB slab_unreclaimable:39068kB kernel_stack:20512kB
pagetables:8000kB unstable:0kB bounce:0kB free_pcp:1648kB local_pcp:116kB free_cma:0kB writeback_tmp:0kB pages_scanned:964952 all_unreclaimable? yes
[  136.880330] lowmem_reserve[]: 0 0 0 0
[  136.883137] Node 0 DMA: 28*4kB (UE) 15*8kB (UE) 9*16kB (UME) 1*32kB (M) 2*64kB (UE) 2*128kB (UE) 0*256kB 2*512kB (UE) 2*1024kB (UE) 0*2048kB 0*4096kB = 3864kB
[  136.890862] Node 0 DMA32: 860*4kB (UME) 16*8kB (UME) 1*16kB (M) 0*32kB 1*64kB (M) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3648kB
(...snipped...)
[  143.721805] kswapd0         D ffff880039ffb760     0    52      2 0x00000000
[  143.724711]  ffff880039ffb760 ffff88003bb5e140 ffff880039ff4000 ffff880039ffc000
[  143.727782]  ffff88003a2c3850 ffff88003a2c3868 ffff880039ffb958 0000000000000001
[  143.730815]  ffff880039ffb778 ffffffff81666600 ffff880039ff4000 ffff880039ffb7d8
[  143.733839] Call Trace:
[  143.735190]  [<ffffffff81666600>] schedule+0x30/0x80
[  143.737387]  [<ffffffff8166a066>] rwsem_down_read_failed+0xd6/0x140
[  143.739964]  [<ffffffff81323708>] call_rwsem_down_read_failed+0x18/0x30
[  143.742944]  [<ffffffff810b888b>] down_read_nested+0x3b/0x50
[  143.745315]  [<ffffffffa0242c5b>] ? xfs_ilock+0x4b/0xe0 [xfs]
[  143.747737]  [<ffffffffa0242c5b>] xfs_ilock+0x4b/0xe0 [xfs]
[  143.750071]  [<ffffffffa022d2d0>] xfs_map_blocks+0x80/0x150 [xfs]
[  143.752534]  [<ffffffffa022e27b>] xfs_do_writepage+0x15b/0x500 [xfs]
[  143.755230]  [<ffffffffa022e656>] xfs_vm_writepage+0x36/0x70 [xfs]
[  143.757959]  [<ffffffff8115356f>] pageout.isra.43+0x18f/0x240
[  143.760382]  [<ffffffff81154ed3>] shrink_page_list+0x803/0xae0
[  143.762785]  [<ffffffff8115590b>] shrink_inactive_list+0x1fb/0x460
[  143.765347]  [<ffffffff81156516>] shrink_zone_memcg+0x5b6/0x780
[  143.767801]  [<ffffffff811567b4>] shrink_zone+0xd4/0x2f0
[  143.770084]  [<ffffffff81157661>] kswapd+0x441/0x830
[  143.772193]  [<ffffffff81157220>] ? mem_cgroup_shrink_node_zone+0xb0/0xb0
[  143.774941]  [<ffffffff8109181e>] kthread+0xee/0x110
[  143.777025]  [<ffffffff8166b6f2>] ret_from_fork+0x22/0x50
[  143.779276]  [<ffffffff81091730>] ? kthread_create_on_node+0x230/0x230
(...snipped...)
[  144.479298] file_io.00      D ffff88003ac97cb8     0  1248      1 0x00100084
[  144.482410]  ffff88003ac97cb8 ffff88003b8760c0 ffff88003658c040 ffff88003ac98000
[  144.485513]  ffff88003a280ac8 0000000000000246 ffff88003658c040 00000000ffffffff
[  144.488618]  ffff88003ac97cd0 ffffffff81666600 ffff88003a280ac0 ffff88003ac97ce0
[  144.491661] Call Trace:
[  144.492921]  [<ffffffff81666600>] schedule+0x30/0x80
[  144.495066]  [<ffffffff81666909>] schedule_preempt_disabled+0x9/0x10
[  144.497582]  [<ffffffff816684bf>] mutex_lock_nested+0x14f/0x3a0
[  144.500060]  [<ffffffffa0237eef>] ? xfs_file_buffered_aio_write+0x5f/0x1f0 [xfs]
[  144.503077]  [<ffffffff810bd130>] ? __lock_acquire+0x8c0/0x1f50
[  144.505494]  [<ffffffffa0237eef>] xfs_file_buffered_aio_write+0x5f/0x1f0 [xfs]
[  144.508375]  [<ffffffff8111dfca>] ? __audit_syscall_entry+0xaa/0xf0
[  144.510996]  [<ffffffffa023810a>] xfs_file_write_iter+0x8a/0x150 [xfs]
[  144.514521]  [<ffffffff811bf327>] __vfs_write+0xc7/0x100
[  144.517230]  [<ffffffff811bfedd>] vfs_write+0x9d/0x190
[  144.519407]  [<ffffffff811df5da>] ? __fget_light+0x6a/0x90
[  144.521772]  [<ffffffff811c0713>] SyS_write+0x53/0xd0
[  144.523909]  [<ffffffff8100364d>] do_syscall_64+0x5d/0x180
[  144.526145]  [<ffffffff8166b57f>] entry_SYSCALL64_slow_path+0x25/0x25
(...snipped...)
[  145.684411] kworker/3:3     D ffff88000e987878     0  2329      2 0x00000080
[  145.684415] Workqueue: events_freezable_power_ disk_events_workfn
[  145.684416]  ffff88000e987878 ffff880037d76140 ffff88000e980100 ffff88000e988000
[  145.684417]  ffff88000e9878b0 ffff88003d6d02c0 00000000fffd9bc4 ffff88003ffdf100
[  145.684417]  ffff88000e987890 ffffffff81666600 ffff88003d6d02c0 ffff88000e987938
[  145.684418] Call Trace:
[  145.684419]  [<ffffffff81666600>] schedule+0x30/0x80
[  145.684419]  [<ffffffff8166a687>] schedule_timeout+0x117/0x1c0
[  145.684420]  [<ffffffff810bc306>] ? mark_held_locks+0x66/0x90
[  145.684421]  [<ffffffff810def90>] ? init_timer_key+0x40/0x40
[  145.684422]  [<ffffffff810e5e17>] ? ktime_get+0xa7/0x130
[  145.684423]  [<ffffffff81665b41>] io_schedule_timeout+0xa1/0x110
[  145.684424]  [<ffffffff81160ccd>] congestion_wait+0x7d/0xd0
[  145.684425]  [<ffffffff810b63a0>] ? wait_woken+0x80/0x80
[  145.684426]  [<ffffffff8114a602>] __alloc_pages_nodemask+0xb42/0xd50
[  145.684427]  [<ffffffff810bc300>] ? mark_held_locks+0x60/0x90
[  145.684428]  [<ffffffff81193a26>] alloc_pages_current+0x96/0x1b0
[  145.684430]  [<ffffffff812e1b3d>] ? bio_alloc_bioset+0x20d/0x2d0
[  145.684431]  [<ffffffff812e2e74>] bio_copy_kern+0xc4/0x180
[  145.684433]  [<ffffffff812edb20>] blk_rq_map_kern+0x70/0x130
[  145.684435]  [<ffffffff8145255d>] scsi_execute+0x12d/0x160
[  145.684436]  [<ffffffff81452684>] scsi_execute_req_flags+0x84/0xf0
[  145.684438]  [<ffffffffa01ed762>] sr_check_events+0xb2/0x2a0 [sr_mod]
[  145.684440]  [<ffffffffa01e1163>] cdrom_check_events+0x13/0x30 [cdrom]
[  145.684441]  [<ffffffffa01edba5>] sr_block_check_events+0x25/0x30 [sr_mod]
[  145.684442]  [<ffffffff812f928b>] disk_check_events+0x5b/0x150
[  145.684443]  [<ffffffff812f9397>] disk_events_workfn+0x17/0x20
[  145.684445]  [<ffffffff8108b4c5>] process_one_work+0x1a5/0x400
[  145.684446]  [<ffffffff8108b461>] ? process_one_work+0x141/0x400
[  145.684448]  [<ffffffff8108b846>] worker_thread+0x126/0x490
[  145.684449]  [<ffffffff81665ec1>] ? __schedule+0x311/0xa20
[  145.684450]  [<ffffffff8108b720>] ? process_one_work+0x400/0x400
[  145.684451]  [<ffffffff8109181e>] kthread+0xee/0x110
[  145.684452]  [<ffffffff8166b6f2>] ret_from_fork+0x22/0x50
[  145.684453]  [<ffffffff81091730>] ? kthread_create_on_node+0x230/0x230
(...snipped...)
[  208.035194] Node 0 DMA free:3864kB min:60kB low:72kB high:84kB active_anon:9504kB inactive_anon:84kB active_file:140kB inactive_file:448kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:15988kB managed:15904kB mlocked:0kB dirty:448kB writeback:0kB mapped:172kB shmem:84kB slab_reclaimable:164kB slab_unreclaimable:692kB kernel_stack:448kB pagetables:156kB unstable:0kB
bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:4244 all_unreclaimable? yes
[  208.051970] lowmem_reserve[]: 0 953 953 953
[  208.054174] Node 0 DMA32 free:3648kB min:3780kB low:4752kB high:5724kB active_anon:783216kB inactive_anon:6376kB active_file:33388kB inactive_file:40292kB unevictable:0kB isolated(anon):0kB
isolated(file):128kB present:1032064kB managed:980816kB mlocked:0kB dirty:40232kB writeback:120kB mapped:34724kB shmem:6628kB slab_reclaimable:10528kB slab_unreclaimable:39064kB kernel_stack:20512kB
pagetables:8000kB unstable:0kB bounce:0kB free_pcp:1644kB local_pcp:108kB free_cma:0kB writeback_tmp:0kB pages_scanned:1882904 all_unreclaimable? yes
[  208.072237] lowmem_reserve[]: 0 0 0 0
[  208.074340] Node 0 DMA: 28*4kB (UE) 15*8kB (UE) 9*16kB (UME) 1*32kB (M) 2*64kB (UE) 2*128kB (UE) 0*256kB 2*512kB (UE) 2*1024kB (UE) 0*2048kB 0*4096kB = 3864kB
[  208.080915] Node 0 DMA32: 860*4kB (UME) 16*8kB (UME) 1*16kB (M) 0*32kB 1*64kB (M) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3648kB
(...snipped...)
[  290.388544] INFO: task kswapd0:52 blocked for more than 120 seconds.
[  290.391197]       Tainted: G        W       4.5.0-rc7-next-20160310 #103
[  290.393979] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  290.397150] kswapd0         D ffff880039ffb760     0    52      2 0x00000000
[  290.400194]  ffff880039ffb760 ffff88003bb5e140 ffff880039ff4000 ffff880039ffc000
[  290.403394]  ffff88003a2c3850 ffff88003a2c3868 ffff880039ffb958 0000000000000001
[  290.406715]  ffff880039ffb778 ffffffff81666600 ffff880039ff4000 ffff880039ffb7d8
[  290.409874] Call Trace:
[  290.411242]  [<ffffffff81666600>] schedule+0x30/0x80
[  290.413423]  [<ffffffff8166a066>] rwsem_down_read_failed+0xd6/0x140
[  290.416100]  [<ffffffff81323708>] call_rwsem_down_read_failed+0x18/0x30
[  290.418835]  [<ffffffff810b888b>] down_read_nested+0x3b/0x50
[  290.421278]  [<ffffffffa0242c5b>] ? xfs_ilock+0x4b/0xe0 [xfs]
[  290.423672]  [<ffffffffa0242c5b>] xfs_ilock+0x4b/0xe0 [xfs]
[  290.426042]  [<ffffffffa022d2d0>] xfs_map_blocks+0x80/0x150 [xfs]
[  290.428569]  [<ffffffffa022e27b>] xfs_do_writepage+0x15b/0x500 [xfs]
[  290.431173]  [<ffffffffa022e656>] xfs_vm_writepage+0x36/0x70 [xfs]
[  290.433753]  [<ffffffff8115356f>] pageout.isra.43+0x18f/0x240
[  290.436135]  [<ffffffff81154ed3>] shrink_page_list+0x803/0xae0
[  290.438583]  [<ffffffff8115590b>] shrink_inactive_list+0x1fb/0x460
[  290.441090]  [<ffffffff81156516>] shrink_zone_memcg+0x5b6/0x780
[  290.443500]  [<ffffffff811567b4>] shrink_zone+0xd4/0x2f0
[  290.445703]  [<ffffffff81157661>] kswapd+0x441/0x830
[  290.447973]  [<ffffffff81157220>] ? mem_cgroup_shrink_node_zone+0xb0/0xb0
[  290.450676]  [<ffffffff8109181e>] kthread+0xee/0x110
[  290.452780]  [<ffffffff8166b6f2>] ret_from_fork+0x22/0x50
[  290.455018]  [<ffffffff81091730>] ? kthread_create_on_node+0x230/0x230
[  290.457910] 1 lock held by kswapd0/52:
[  290.459813]  #0:  (&xfs_nondir_ilock_class){++++--}, at: [<ffffffffa0242c5b>] xfs_ilock+0x4b/0xe0 [xfs]
(...snipped...)
[  336.562747] Node 0 DMA free:3864kB min:60kB low:72kB high:84kB active_anon:9504kB inactive_anon:84kB active_file:140kB inactive_file:448kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:15988kB managed:15904kB mlocked:0kB dirty:448kB writeback:0kB mapped:172kB shmem:84kB slab_reclaimable:164kB slab_unreclaimable:692kB kernel_stack:448kB pagetables:156kB unstable:0kB
bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:4244 all_unreclaimable? yes
[  336.589823] lowmem_reserve[]: 0 953 953 953
[  336.593296] Node 0 DMA32 free:3776kB min:3780kB low:4752kB high:5724kB active_anon:783216kB inactive_anon:6376kB active_file:33388kB inactive_file:40292kB unevictable:0kB isolated(anon):0kB
isolated(file):128kB present:1032064kB managed:980816kB mlocked:0kB dirty:40232kB writeback:120kB mapped:34724kB shmem:6628kB slab_reclaimable:10528kB slab_unreclaimable:39192kB kernel_stack:20416kB
pagetables:8000kB unstable:0kB bounce:0kB free_pcp:1520kB local_pcp:100kB free_cma:0kB writeback_tmp:0kB pages_scanned:1001584 all_unreclaimable? yes
[  336.618011] lowmem_reserve[]: 0 0 0 0
[  336.620073] Node 0 DMA: 28*4kB (UE) 15*8kB (UE) 9*16kB (UME) 1*32kB (M) 2*64kB (UE) 2*128kB (UE) 0*256kB 2*512kB (UE) 2*1024kB (UE) 0*2048kB 0*4096kB = 3864kB
[  336.626844] Node 0 DMA32: 860*4kB (UME) 18*8kB (UME) 8*16kB (UM) 0*32kB 1*64kB (M) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3776kB
(...snipped...)
[  393.774051] kswapd0         D ffff880039ffb760     0    52      2 0x00000000
[  393.777018]  ffff880039ffb760 ffff88003bb5e140 ffff880039ff4000 ffff880039ffc000
[  393.779986]  ffff88003a2c3850 ffff88003a2c3868 ffff880039ffb958 0000000000000001
[  393.783000]  ffff880039ffb778 ffffffff81666600 ffff880039ff4000 ffff880039ffb7d8
[  393.785958] Call Trace:
[  393.787191]  [<ffffffff81666600>] schedule+0x30/0x80
[  393.789198]  [<ffffffff8166a066>] rwsem_down_read_failed+0xd6/0x140
[  393.791707]  [<ffffffff81323708>] call_rwsem_down_read_failed+0x18/0x30
[  393.794364]  [<ffffffff810b888b>] down_read_nested+0x3b/0x50
[  393.796634]  [<ffffffffa0242c5b>] ? xfs_ilock+0x4b/0xe0 [xfs]
[  393.798952]  [<ffffffffa0242c5b>] xfs_ilock+0x4b/0xe0 [xfs]
[  393.801274]  [<ffffffffa022d2d0>] xfs_map_blocks+0x80/0x150 [xfs]
[  393.803709]  [<ffffffffa022e27b>] xfs_do_writepage+0x15b/0x500 [xfs]
[  393.806254]  [<ffffffffa022e656>] xfs_vm_writepage+0x36/0x70 [xfs]
[  393.808718]  [<ffffffff8115356f>] pageout.isra.43+0x18f/0x240
[  393.811002]  [<ffffffff81154ed3>] shrink_page_list+0x803/0xae0
[  393.813415]  [<ffffffff8115590b>] shrink_inactive_list+0x1fb/0x460
[  393.815834]  [<ffffffff81156516>] shrink_zone_memcg+0x5b6/0x780
[  393.818316]  [<ffffffff811567b4>] shrink_zone+0xd4/0x2f0
[  393.820472]  [<ffffffff81157661>] kswapd+0x441/0x830
[  393.822658]  [<ffffffff81157220>] ? mem_cgroup_shrink_node_zone+0xb0/0xb0
[  393.825463]  [<ffffffff8109181e>] kthread+0xee/0x110
[  393.827626]  [<ffffffff8166b6f2>] ret_from_fork+0x22/0x50
[  393.829824]  [<ffffffff81091730>] ? kthread_create_on_node+0x230/0x230
(...snipped...)
[  395.000240] file_io.00      D ffff88003ac97cb8     0  1248      1 0x00100084
[  395.003355]  ffff88003ac97cb8 ffff88003b8760c0 ffff88003658c040 ffff88003ac98000
[  395.006582]  ffff88003a280ac8 0000000000000246 ffff88003658c040 00000000ffffffff
[  395.010026]  ffff88003ac97cd0 ffffffff81666600 ffff88003a280ac0 ffff88003ac97ce0
[  395.013010] Call Trace:
[  395.014201]  [<ffffffff81666600>] schedule+0x30/0x80
[  395.016248]  [<ffffffff81666909>] schedule_preempt_disabled+0x9/0x10
[  395.018824]  [<ffffffff816684bf>] mutex_lock_nested+0x14f/0x3a0
[  395.021194]  [<ffffffffa0237eef>] ? xfs_file_buffered_aio_write+0x5f/0x1f0 [xfs]
[  395.024197]  [<ffffffff810bd130>] ? __lock_acquire+0x8c0/0x1f50
[  395.026672]  [<ffffffffa0237eef>] xfs_file_buffered_aio_write+0x5f/0x1f0 [xfs]
[  395.029525]  [<ffffffff8111dfca>] ? __audit_syscall_entry+0xaa/0xf0
[  395.032029]  [<ffffffffa023810a>] xfs_file_write_iter+0x8a/0x150 [xfs]
[  395.034589]  [<ffffffff811bf327>] __vfs_write+0xc7/0x100
[  395.036723]  [<ffffffff811bfedd>] vfs_write+0x9d/0x190
[  395.038841]  [<ffffffff811df5da>] ? __fget_light+0x6a/0x90
[  395.041069]  [<ffffffff811c0713>] SyS_write+0x53/0xd0
[  395.043258]  [<ffffffff8100364d>] do_syscall_64+0x5d/0x180
[  395.045511]  [<ffffffff8166b57f>] entry_SYSCALL64_slow_path+0x25/0x25
(...snipped...)
[  446.012823] kworker/3:3     D ffff88000e987878     0  2329      2 0x00000080
[  446.015632] Workqueue: events_freezable_power_ disk_events_workfn
[  446.018103]  ffff88000e987878 ffff88003cc0c040 ffff88000e980100 ffff88000e988000
[  446.021099]  ffff88000e9878b0 ffff88003d6d02c0 0000000100016c95 ffff88003ffdf100
[  446.024247]  ffff88000e987890 ffffffff81666600 ffff88003d6d02c0 ffff88000e987938
[  446.027332] Call Trace:
[  446.028568]  [<ffffffff81666600>] schedule+0x30/0x80
[  446.030748]  [<ffffffff8166a687>] schedule_timeout+0x117/0x1c0
[  446.033122]  [<ffffffff810bc306>] ? mark_held_locks+0x66/0x90
[  446.035466]  [<ffffffff810def90>] ? init_timer_key+0x40/0x40
[  446.037756]  [<ffffffff810e5e17>] ? ktime_get+0xa7/0x130
[  446.039960]  [<ffffffff81665b41>] io_schedule_timeout+0xa1/0x110
[  446.042385]  [<ffffffff81160ccd>] congestion_wait+0x7d/0xd0
[  446.044651]  [<ffffffff810b63a0>] ? wait_woken+0x80/0x80
[  446.046817]  [<ffffffff8114a602>] __alloc_pages_nodemask+0xb42/0xd50
[  446.049395]  [<ffffffff810bc300>] ? mark_held_locks+0x60/0x90
[  446.051700]  [<ffffffff81193a26>] alloc_pages_current+0x96/0x1b0
[  446.054089]  [<ffffffff812e1b3d>] ? bio_alloc_bioset+0x20d/0x2d0
[  446.056515]  [<ffffffff812e2e74>] bio_copy_kern+0xc4/0x180
[  446.058737]  [<ffffffff812edb20>] blk_rq_map_kern+0x70/0x130
[  446.061105]  [<ffffffff8145255d>] scsi_execute+0x12d/0x160
[  446.063334]  [<ffffffff81452684>] scsi_execute_req_flags+0x84/0xf0
[  446.065810]  [<ffffffffa01ed762>] sr_check_events+0xb2/0x2a0 [sr_mod]
[  446.068343]  [<ffffffffa01e1163>] cdrom_check_events+0x13/0x30 [cdrom]
[  446.070897]  [<ffffffffa01edba5>] sr_block_check_events+0x25/0x30 [sr_mod]
[  446.073569]  [<ffffffff812f928b>] disk_check_events+0x5b/0x150
[  446.075895]  [<ffffffff812f9397>] disk_events_workfn+0x17/0x20
[  446.078340]  [<ffffffff8108b4c5>] process_one_work+0x1a5/0x400
[  446.080696]  [<ffffffff8108b461>] ? process_one_work+0x141/0x400
[  446.083069]  [<ffffffff8108b846>] worker_thread+0x126/0x490
[  446.085395]  [<ffffffff81665ec1>] ? __schedule+0x311/0xa20
[  446.087587]  [<ffffffff8108b720>] ? process_one_work+0x400/0x400
[  446.089996]  [<ffffffff8109181e>] kthread+0xee/0x110
[  446.092242]  [<ffffffff8166b6f2>] ret_from_fork+0x22/0x50
[  446.094527]  [<ffffffff81091730>] ? kthread_create_on_node+0x230/0x230
---------- console log end ----------

  parent reply	other threads:[~2016-03-11 10:45 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 18:19 [PATCH 0/3] OOM detection rework v4 Michal Hocko
2015-12-15 18:19 ` [PATCH 1/3] mm, oom: rework oom detection Michal Hocko
2016-01-14 22:58   ` David Rientjes
2016-01-16  1:07     ` Tetsuo Handa
2016-01-19 22:48       ` David Rientjes
2016-01-20 11:13         ` Tetsuo Handa
2016-01-20 13:13           ` Michal Hocko
2016-04-04  8:23   ` Vladimir Davydov
2016-04-04  9:42     ` Michal Hocko
2015-12-15 18:19 ` [PATCH 2/3] mm: throttle on IO only when there are too many dirty and writeback pages Michal Hocko
2016-03-17 11:35   ` Tetsuo Handa
2016-03-17 12:01     ` Michal Hocko
2015-12-15 18:19 ` [PATCH 3/3] mm: use watermak checks for __GFP_REPEAT high order allocations Michal Hocko
2015-12-16 23:35 ` [PATCH 0/3] OOM detection rework v4 Andrew Morton
2015-12-18 12:12   ` Michal Hocko
2015-12-16 23:58 ` Andrew Morton
2015-12-18 13:15   ` Michal Hocko
2015-12-18 16:35     ` Johannes Weiner
2015-12-24 12:41 ` Tetsuo Handa
2015-12-28 12:08   ` Tetsuo Handa
2015-12-28 14:13     ` Tetsuo Handa
2016-01-06 12:44       ` Vlastimil Babka
2016-01-08 12:37       ` Michal Hocko
2015-12-29 16:32     ` Michal Hocko
2015-12-30 15:05       ` Tetsuo Handa
2016-01-02 15:47         ` Tetsuo Handa
2016-01-20 12:24           ` Michal Hocko
2016-01-27 23:18             ` David Rientjes
2016-01-28 21:19               ` Michal Hocko
2015-12-29 16:27   ` Michal Hocko
2016-01-28 20:40 ` [PATCH 4/3] mm, oom: drop the last allocation attempt before out_of_memory Michal Hocko
2016-01-28 21:36   ` Johannes Weiner
2016-01-28 23:19     ` David Rientjes
2016-01-28 23:51       ` Johannes Weiner
2016-01-29 10:39         ` Tetsuo Handa
2016-01-29 15:32         ` Michal Hocko
2016-01-30 12:18           ` Tetsuo Handa
2016-01-29 15:23       ` Michal Hocko
2016-01-29 15:24     ` Michal Hocko
2016-01-28 21:19 ` [PATCH 5/3] mm, vmscan: make zone_reclaimable_pages more precise Michal Hocko
2016-01-28 23:20   ` David Rientjes
2016-01-29  3:41   ` Hillf Danton
2016-01-29 10:35   ` Tetsuo Handa
2016-01-29 15:17     ` Michal Hocko
2016-01-29 21:30       ` Tetsuo Handa
2016-02-03 13:27 ` [PATCH 0/3] OOM detection rework v4 Michal Hocko
2016-02-03 22:58   ` David Rientjes
2016-02-04 12:57     ` Michal Hocko
2016-02-04 13:10       ` Tetsuo Handa
2016-02-04 13:39         ` Michal Hocko
2016-02-04 14:24           ` Michal Hocko
2016-02-07  4:09           ` Tetsuo Handa
2016-02-15 20:06             ` Michal Hocko
2016-02-16 13:10               ` Tetsuo Handa
2016-02-16 15:19                 ` Michal Hocko
2016-02-25  3:47   ` Hugh Dickins
2016-02-25  6:48     ` Sergey Senozhatsky
2016-02-25  9:17       ` Hillf Danton
2016-02-25  9:27         ` Michal Hocko
2016-02-25  9:48           ` Hillf Danton
2016-02-25 11:02             ` Sergey Senozhatsky
2016-02-25  9:23     ` Michal Hocko
2016-02-26  6:32       ` Hugh Dickins
2016-02-26  7:54         ` Hillf Danton
2016-02-26  9:24           ` Michal Hocko
2016-02-26 10:27             ` Hillf Danton
2016-02-26 13:49               ` Michal Hocko
2016-02-26  9:33         ` Michal Hocko
2016-02-29 21:02       ` Michal Hocko
2016-03-02  2:19         ` Joonsoo Kim
2016-03-02  9:50           ` Michal Hocko
2016-03-02 13:32             ` Joonsoo Kim
2016-03-02 14:06               ` Michal Hocko
2016-03-02 14:34                 ` Joonsoo Kim
2016-03-03  9:26                   ` Michal Hocko
2016-03-03 10:29                     ` Tetsuo Handa
2016-03-03 14:10                     ` Joonsoo Kim
2016-03-03 15:25                       ` Michal Hocko
2016-03-04  5:23                         ` Joonsoo Kim
2016-03-04 15:15                           ` Michal Hocko
2016-03-04 17:39                             ` Michal Hocko
2016-03-07  5:23                             ` Joonsoo Kim
2016-03-03 15:50                       ` Vlastimil Babka
2016-03-03 16:26                         ` Michal Hocko
2016-03-04  7:10                         ` Joonsoo Kim
2016-03-02 15:01             ` Minchan Kim
2016-03-07 16:08         ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Michal Hocko
2016-03-08  3:51           ` Sergey Senozhatsky
2016-03-08  9:08             ` Michal Hocko
2016-03-08  9:24               ` Sergey Senozhatsky
2016-03-08  9:24           ` [PATCH] mm, oom: protect !costly allocations some more Vlastimil Babka
2016-03-08  9:32             ` Sergey Senozhatsky
2016-03-08  9:46             ` Michal Hocko
2016-03-08  9:52               ` Vlastimil Babka
2016-03-08 10:10                 ` Michal Hocko
2016-03-08 11:12                   ` Vlastimil Babka
2016-03-08 12:22                     ` Michal Hocko
2016-03-08 12:29                       ` Vlastimil Babka
2016-03-08  9:58           ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Sergey Senozhatsky
2016-03-08 13:57             ` Michal Hocko
2016-03-08 10:36           ` Hugh Dickins
2016-03-08 13:42           ` [PATCH 0/2] oom rework: high order enahncements Michal Hocko
2016-03-08 13:42             ` [PATCH 1/3] mm, compaction: change COMPACT_ constants into enum Michal Hocko
2016-03-08 14:19               ` Vlastimil Babka
2016-03-09  3:55               ` Hillf Danton
2016-03-08 13:42             ` [PATCH 2/3] mm, compaction: cover all compaction mode in compact_zone Michal Hocko
2016-03-08 14:22               ` Vlastimil Babka
2016-03-09  3:57               ` Hillf Danton
2016-03-08 13:42             ` [PATCH 3/3] mm, oom: protect !costly allocations some more Michal Hocko
2016-03-08 14:34               ` Vlastimil Babka
2016-03-08 14:48                 ` Michal Hocko
2016-03-08 15:03                   ` Vlastimil Babka
2016-03-09 11:11               ` Michal Hocko
2016-03-09 14:07                 ` Vlastimil Babka
2016-03-11 12:17                 ` Hugh Dickins
2016-03-11 13:06                   ` Michal Hocko
2016-03-11 19:08                     ` Hugh Dickins
2016-03-14 16:21                       ` Michal Hocko
2016-03-08 15:19           ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Joonsoo Kim
2016-03-08 16:05             ` Michal Hocko
2016-03-08 17:03               ` Joonsoo Kim
2016-03-09 10:41                 ` Michal Hocko
2016-03-11 14:53                   ` Joonsoo Kim
2016-03-11 15:20                     ` Michal Hocko
2016-02-29 20:35     ` [PATCH 0/3] OOM detection rework v4 Michal Hocko
2016-03-01  7:29       ` Hugh Dickins
2016-03-01 13:38         ` Michal Hocko
2016-03-01 14:40           ` Michal Hocko
2016-03-01 18:14           ` Vlastimil Babka
2016-03-02  2:55             ` Joonsoo Kim
2016-03-02 12:37               ` Michal Hocko
2016-03-02 14:06                 ` Joonsoo Kim
     [not found]             ` <20160302122410.GD26686@dhcp22.suse.cz>
2016-03-02 13:22               ` Vlastimil Babka
2016-03-02  2:28           ` Joonsoo Kim
2016-03-02 12:39             ` Michal Hocko
2016-03-03  9:54           ` Hugh Dickins
2016-03-03 12:32             ` Michal Hocko
2016-03-03 20:57               ` Hugh Dickins
2016-03-04  7:41                 ` Vlastimil Babka
2016-03-04  7:53             ` Joonsoo Kim
2016-03-04 12:28             ` Michal Hocko
2016-03-11 10:45 ` Tetsuo Handa [this message]
2016-03-11 13:08   ` Michal Hocko
2016-03-11 13:32     ` Tetsuo Handa
2016-03-11 15:28       ` Michal Hocko
2016-03-11 16:49         ` Tetsuo Handa
2016-03-11 17:00           ` Michal Hocko
2016-03-11 17:20             ` Tetsuo Handa
2016-03-12  4:08               ` Tetsuo Handa
2016-03-13 14:41                 ` Tetsuo Handa

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=201603111945.FHI64215.JVOFLHQFOMOSFt@I-love.SAKURA.ne.jp \
    --to=penguin-kernel@i-love.sakura.ne.jp \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=hillf.zj@alibaba-inc.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@kernel.org \
    --cc=rientjes@google.com \
    --cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).