All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc MERLIN <marc@merlins.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, Tejun Heo <tj@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free
Date: Tue, 29 Nov 2016 08:34:06 -0800	[thread overview]
Message-ID: <20161129163406.treuewaqgt4fy4kh@merlins.org> (raw)
In-Reply-To: <20161129160751.GC9796@dhcp22.suse.cz>

On Tue, Nov 29, 2016 at 05:07:51PM +0100, Michal Hocko wrote:
> On Tue 29-11-16 07:55:37, Marc MERLIN wrote:
> > On Mon, Nov 28, 2016 at 08:23:15AM +0100, Michal Hocko wrote:
> > > Marc, could you try this patch please? I think it should be pretty clear
> > > it should help you but running it through your use case would be more
> > > than welcome before I ask Greg to take this to the 4.8 stable tree.
> > 
> > I ran it overnight and copied 1.4TB with it before it failed because
> > there wasn't enough disk space on the other side, so I think it fixes
> > the problem too.
> 
> Can I add your Tested-by?

Done.

Now, probably unrelated, but hard to be sure, doing those big copies
causes massive hangs on my system. I hit a few of the 120s hangs,
but more generally lots of things hang, including shells, my DNS server,
monitoring reading from USB and timing out, and so forth.
Examples below. 
I have a hard time telling what is the fault, but is there a chance it
might be memory allocation pressure?
I already have a preempt kernel, so I can't make it more preempt than
that.
Now, to be fair, this is not a new problem, it's just varying degrees of
bad and usually only happens when I do a lot of I/O with btrfs.
That said, btrfs may very well just be suffering from memory allocation
issues and hanging as a result, with everything else on my system also
hanging for similar reasons until the memory pressure goes away with the
copy or scrub are finished.

What do you think?

[28034.954435] INFO: task btrfs:5618 blocked for more than 120 seconds.
[28034.975471]       Tainted: G     U          4.8.10-amd64-preempt-sysrq-20161121vb3tj1 #12
[28035.000964] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28035.025429] btrfs           D ffff91154d33fc70     0  5618   5372 0x00000080
[28035.047717]  ffff91154d33fc70 0000000000200246 ffff911842f880c0 ffff9115a4cf01c0
[28035.071020]  ffff91154d33fc58 ffff91154d340000 ffff91165493bca0 ffff9115623773f0
[28035.094252]  0000000000001000 0000000000000001 ffff91154d33fc88 ffffffffb86cf1a6
[28035.117538] Call Trace:
[28035.125791]  [<ffffffffb86cf1a6>] schedule+0x8b/0xa3
[28035.141550]  [<ffffffffb82bd18e>] btrfs_start_ordered_extent+0xce/0x122
[28035.162457]  [<ffffffffb809af6c>] ? wake_up_atomic_t+0x2c/0x2c
[28035.180891]  [<ffffffffb82bd434>] btrfs_wait_ordered_range+0xa9/0x10d
[28035.201723]  [<ffffffffb82aec04>] btrfs_truncate+0x40/0x24b
[28035.219269]  [<ffffffffb82af437>] btrfs_setattr+0x1da/0x2d7
[28035.237032]  [<ffffffffb81c7507>] notify_change+0x252/0x39c
[28035.254566]  [<ffffffffb81ad35b>] do_truncate+0x81/0xb4
[28035.271057]  [<ffffffffb81ad467>] vfs_truncate+0xd9/0xf9
[28035.287782]  [<ffffffffb81ad4ea>] do_sys_truncate+0x63/0xa7

I get other hangs like:

[10338.968912] perf: interrupt took too long (3927 > 3917), lowering kernel.perf_event_max_sample_rate to 50750

[12971.047705] ftdi_sio ttyUSB15: usb_serial_generic_read_bulk_callback - urb stopped: -32

[17761.122238] usb 4-1.4: USB disconnect, device number 39
[17761.141063] usb 4-1.4: usbfs: USBDEVFS_CONTROL failed cmd hub-ctrl rqt 160 rq 6 len 1024 ret -108
[17761.263252] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[17761.938575] usb 4-1.4: new SuperSpeed USB device number 40 using xhci_hcd

[24130.574425] hpet1: lost 2306 rtc interrupts
[24156.034950] hpet1: lost 1628 rtc interrupts
[24173.314738] hpet1: lost 1104 rtc interrupts
[24180.129950] hpet1: lost 436 rtc interrupts
[24257.557955] hpet1: lost 4954 rtc interrupts
[24267.522656] hpet1: lost 637 rtc interrupts

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/                         | PGP 1024R/763BE901

WARNING: multiple messages have this Message-ID (diff)
From: Marc MERLIN <marc@merlins.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, Tejun Heo <tj@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free
Date: Tue, 29 Nov 2016 08:34:06 -0800	[thread overview]
Message-ID: <20161129163406.treuewaqgt4fy4kh@merlins.org> (raw)
In-Reply-To: <20161129160751.GC9796@dhcp22.suse.cz>

On Tue, Nov 29, 2016 at 05:07:51PM +0100, Michal Hocko wrote:
> On Tue 29-11-16 07:55:37, Marc MERLIN wrote:
> > On Mon, Nov 28, 2016 at 08:23:15AM +0100, Michal Hocko wrote:
> > > Marc, could you try this patch please? I think it should be pretty clear
> > > it should help you but running it through your use case would be more
> > > than welcome before I ask Greg to take this to the 4.8 stable tree.
> > 
> > I ran it overnight and copied 1.4TB with it before it failed because
> > there wasn't enough disk space on the other side, so I think it fixes
> > the problem too.
> 
> Can I add your Tested-by?

Done.

Now, probably unrelated, but hard to be sure, doing those big copies
causes massive hangs on my system. I hit a few of the 120s hangs,
but more generally lots of things hang, including shells, my DNS server,
monitoring reading from USB and timing out, and so forth.
Examples below. 
I have a hard time telling what is the fault, but is there a chance it
might be memory allocation pressure?
I already have a preempt kernel, so I can't make it more preempt than
that.
Now, to be fair, this is not a new problem, it's just varying degrees of
bad and usually only happens when I do a lot of I/O with btrfs.
That said, btrfs may very well just be suffering from memory allocation
issues and hanging as a result, with everything else on my system also
hanging for similar reasons until the memory pressure goes away with the
copy or scrub are finished.

What do you think?

[28034.954435] INFO: task btrfs:5618 blocked for more than 120 seconds.
[28034.975471]       Tainted: G     U          4.8.10-amd64-preempt-sysrq-20161121vb3tj1 #12
[28035.000964] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28035.025429] btrfs           D ffff91154d33fc70     0  5618   5372 0x00000080
[28035.047717]  ffff91154d33fc70 0000000000200246 ffff911842f880c0 ffff9115a4cf01c0
[28035.071020]  ffff91154d33fc58 ffff91154d340000 ffff91165493bca0 ffff9115623773f0
[28035.094252]  0000000000001000 0000000000000001 ffff91154d33fc88 ffffffffb86cf1a6
[28035.117538] Call Trace:
[28035.125791]  [<ffffffffb86cf1a6>] schedule+0x8b/0xa3
[28035.141550]  [<ffffffffb82bd18e>] btrfs_start_ordered_extent+0xce/0x122
[28035.162457]  [<ffffffffb809af6c>] ? wake_up_atomic_t+0x2c/0x2c
[28035.180891]  [<ffffffffb82bd434>] btrfs_wait_ordered_range+0xa9/0x10d
[28035.201723]  [<ffffffffb82aec04>] btrfs_truncate+0x40/0x24b
[28035.219269]  [<ffffffffb82af437>] btrfs_setattr+0x1da/0x2d7
[28035.237032]  [<ffffffffb81c7507>] notify_change+0x252/0x39c
[28035.254566]  [<ffffffffb81ad35b>] do_truncate+0x81/0xb4
[28035.271057]  [<ffffffffb81ad467>] vfs_truncate+0xd9/0xf9
[28035.287782]  [<ffffffffb81ad4ea>] do_sys_truncate+0x63/0xa7

I get other hangs like:

[10338.968912] perf: interrupt took too long (3927 > 3917), lowering kernel.perf_event_max_sample_rate to 50750

[12971.047705] ftdi_sio ttyUSB15: usb_serial_generic_read_bulk_callback - urb stopped: -32

[17761.122238] usb 4-1.4: USB disconnect, device number 39
[17761.141063] usb 4-1.4: usbfs: USBDEVFS_CONTROL failed cmd hub-ctrl rqt 160 rq 6 len 1024 ret -108
[17761.263252] usb 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[17761.938575] usb 4-1.4: new SuperSpeed USB device number 40 using xhci_hcd

[24130.574425] hpet1: lost 2306 rtc interrupts
[24156.034950] hpet1: lost 1628 rtc interrupts
[24173.314738] hpet1: lost 1104 rtc interrupts
[24180.129950] hpet1: lost 436 rtc interrupts
[24257.557955] hpet1: lost 4954 rtc interrupts
[24267.522656] hpet1: lost 637 rtc interrupts

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/                         | PGP 1024R/763BE901

--
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:[~2016-11-29 16:34 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-21 15:43 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free Marc MERLIN
2016-11-21 16:30 ` Marc MERLIN
2016-11-21 21:50 ` Vlastimil Babka
2016-11-21 21:50   ` Vlastimil Babka
2016-11-21 21:56   ` Marc MERLIN
2016-11-21 21:56     ` Marc MERLIN
2016-11-21 23:03     ` [PATCH] block,blkcg: use __GFP_NOWARN for best-effort allocations in blkcg Tejun Heo
2016-11-21 23:03       ` Tejun Heo
2016-11-22 15:47       ` Vlastimil Babka
2016-11-22 15:47         ` Vlastimil Babka
2016-11-22 16:48         ` Tejun Heo
2016-11-22 16:48           ` Tejun Heo
2016-11-22 22:13           ` Linus Torvalds
2016-11-22 22:13             ` Linus Torvalds
2016-11-23  8:50             ` Vlastimil Babka
2016-11-23  8:50               ` Vlastimil Babka
2016-11-28 17:19               ` Tejun Heo
2016-11-28 17:19                 ` Tejun Heo
2016-11-29  7:25                 ` Michal Hocko
2016-11-29  7:25                   ` Michal Hocko
2016-11-29 16:38                   ` Tejun Heo
2016-11-29 16:38                     ` Tejun Heo
2016-11-29 16:57                     ` Vlastimil Babka
2016-11-29 16:57                       ` Vlastimil Babka
2016-11-29 17:13                       ` Michal Hocko
2016-11-29 17:13                         ` Michal Hocko
2016-11-29 17:17                         ` Linus Torvalds
2016-11-29 17:17                           ` Linus Torvalds
2016-11-29 17:28                           ` Michal Hocko
2016-11-29 17:28                             ` Michal Hocko
2016-11-29 17:48                             ` Linus Torvalds
2016-11-29 17:48                               ` Linus Torvalds
2016-11-22 16:00       ` Jens Axboe
2016-11-22 16:00         ` Jens Axboe
2016-11-22 16:06     ` 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free Marc MERLIN
2016-11-22 16:06       ` Marc MERLIN
2016-11-22 16:14       ` Vlastimil Babka
2016-11-22 16:14         ` Vlastimil Babka
2016-11-22 16:25         ` Michal Hocko
2016-11-22 16:25           ` Michal Hocko
2016-11-22 16:47           ` Marc MERLIN
2016-11-22 16:47             ` Marc MERLIN
2016-11-22 16:38         ` Greg Kroah-Hartman
2016-11-22 16:38           ` Greg Kroah-Hartman
2016-11-29 16:25           ` Michal Hocko
2016-11-29 16:25             ` Michal Hocko
2016-11-29 16:25             ` Michal Hocko
2016-11-29 16:43             ` Patch "mm, oom: stop pre-mature high-order OOM killer invocations" has been added to the 4.8-stable tree gregkh
2016-11-29 16:43             ` 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free Greg Kroah-Hartman
2016-11-29 16:43               ` Greg Kroah-Hartman
2016-11-22 19:38         ` Linus Torvalds
2016-11-22 19:38           ` Linus Torvalds
2016-11-23  6:34           ` Michal Hocko
2016-11-23  6:34             ` Michal Hocko
2016-11-23  6:53             ` Hillf Danton
2016-11-23  6:53               ` Hillf Danton
2016-11-23  7:00               ` Michal Hocko
2016-11-23  7:00                 ` Michal Hocko
2016-11-23  9:18             ` Vlastimil Babka
2016-11-23  9:18               ` Vlastimil Babka
2016-11-28  7:23             ` Michal Hocko
2016-11-28  7:23               ` Michal Hocko
2016-11-28 20:55               ` Marc MERLIN
2016-11-29 15:55               ` Marc MERLIN
2016-11-29 15:55                 ` Marc MERLIN
2016-11-29 16:07                 ` Michal Hocko
2016-11-29 16:07                   ` Michal Hocko
2016-11-29 16:34                   ` Marc MERLIN [this message]
2016-11-29 16:34                     ` Marc MERLIN
2016-11-29 17:07                     ` Linus Torvalds
2016-11-29 17:07                       ` Linus Torvalds
2016-11-29 17:40                       ` Marc MERLIN
2016-11-29 17:40                         ` Marc MERLIN
2016-11-29 18:01                         ` Linus Torvalds
2016-11-29 18:01                           ` Linus Torvalds
2016-11-30 17:47                           ` Marc MERLIN
2016-11-30 17:47                             ` Marc MERLIN
2016-11-30 18:14                             ` Linus Torvalds
2016-11-30 18:21                               ` Marc MERLIN
2016-11-30 18:21                                 ` Marc MERLIN
2016-11-30 18:27                               ` Jens Axboe
2016-11-30 18:27                                 ` Jens Axboe
2016-11-30 20:30                               ` Tejun Heo
2016-11-30 20:30                                 ` Tejun Heo
2016-12-01 13:50                                 ` Kent Overstreet
2016-12-01 13:50                                   ` Kent Overstreet
2016-12-01 18:16                                   ` Linus Torvalds
2016-12-01 18:16                                     ` Linus Torvalds
2016-12-01 18:30                                     ` Jens Axboe
2016-12-01 18:30                                       ` Jens Axboe
2016-12-01 18:37                                       ` Linus Torvalds
2016-12-01 18:37                                         ` Linus Torvalds
2016-12-01 18:46                                         ` Jens Axboe
2016-12-01 18:46                                           ` Jens Axboe
2016-11-29 20:11                         ` Holger Hoffstätte
2016-11-29 23:01                         ` Marc MERLIN
2016-11-29 23:01                           ` Marc MERLIN
2016-11-30 13:58                           ` Tetsuo Handa
2016-11-30 13:58                             ` Tetsuo Handa
2017-05-02  4:12                           ` Marc MERLIN
2017-05-02  4:12                             ` Marc MERLIN
2017-05-02  7:44                             ` Michal Hocko
2017-05-02  7:44                               ` Michal Hocko
2017-05-02 14:15                               ` Marc MERLIN
2017-05-02 14:15                                 ` Marc MERLIN
2017-05-02 10:44                             ` Tetsuo Handa
2017-05-02 10:44                               ` Tetsuo Handa
2016-11-29 16:15               ` Marc MERLIN
2016-11-29 16:15                 ` Marc MERLIN
2016-11-22 21:46         ` Simon Kirby
2016-11-22 21:46           ` Simon Kirby
2016-11-28  8:06           ` Vlastimil Babka
2016-11-28  8:06             ` Vlastimil Babka

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=20161129163406.treuewaqgt4fy4kh@merlins.org \
    --to=marc@merlins.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.