linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Cc: "linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: freezing system for several second on high I/O [kernel 4.15]
Date: Fri, 16 Feb 2018 08:48:58 +1100	[thread overview]
Message-ID: <20180215214858.GQ7000@dastard> (raw)
In-Reply-To: <CABXGCsOpJU4WU2w5DYBA+Q1nquh14zN0oCW6OfCbhTOFYLwO5w@mail.gmail.com>

On Fri, Feb 16, 2018 at 12:02:28AM +0500, Mikhail Gavrilov wrote:
> On 15 February 2018 at 10:44, Dave Chinner <david@fromorbit.com> wrote:
> > I've already explained that we can't annotate these memory
> > allocations to turn off the false positives because that will also
> > turning off all detection of real deadlock conditions.  Lockdep has
> > many, many limitations, and this happens to be one of them.
> >
> > FWIW, is there any specific reason you running lockdep on your
> > desktop system?
> 
> Because I wanna make open source better (help fixing all freezing)

lockdep isn't a user tool - most developers don't even understand
what it tries to tell them. Worse, it is likely contributing to your
problems as it has a significant runtime CPU and memory overhead....

> > I think I've already explained that, too. The graphics subsystem -
> > which is responsible for updating the cursor - requires memory
> > allocation. The machine is running low on memory, so it runs memory
> > reclaim, which recurses back into the filesystem and blocks waiting
> > for IO to be completed (either writing dirty data pages or flushing
> > dirty metadata) so it can free memory.
> 
> Which means machine is running low on memory?
> How many memory needed?
> 
> $ free -h
>               total        used        free      shared  buff/cache   available
> Mem:            30G         17G        2,1G        1,4G         10G         12G
> Swap:           59G          0B         59G
> 
> As can we see machine have 12G available memory. Is this means low memory?

No, you only have 2.1G free memory. You have 10GB of *reclaimable
memory* in the buffer/page cache, and that gives you 12GB of
"available memory". Memory reclaim happens all the time in a normal
system - it does not mean you are running low on memory, it just
means your system is busy.

And, FWIW, we know you have memory pressure because the lockdep
reports you are pasting are a result of memory reclaim operating.

> > IOWs, your problems all stem from long IO latencies caused by the
> > overloaded storage subsystem - they are propagate to all
> > aspects of the OS via direct memory reclaim blocking on IO....
> 
> I'm surprised that no QOS analog for disk I/O.

There is, but it's not like a network where overload situations are
mitigated by dropping packets to reduce load. We cannot do that with
IO (dropped IO == broken filesystem), so QoS doesn't help when you
drive the storage subsystem in extreme, long term overload
conditions as you seem to be doing.

> This is reminiscent of the situation in past where a torrent client
> clogs the entire channel on the cheap router and it causes problems
> with opening web pages. In nowadays it never happens with modern
> routers even with overloaded network channel are possible video calls

Storage != network.

> In 2018 my personaly expectation that user can run any set of
> applications on computer and this never shoudn't harm system.

There's no "harm" occurring on your system - it's just slow
because the load you've put on it means no task can execute quickly.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

--
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:[~2018-02-15 21:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-30 18:40 freezing system for several second on high I/O [kernel 4.15] mikhail
2018-01-31  2:22 ` Dave Chinner
2018-02-05  3:25   ` mikhail
2018-02-06  3:47   ` mikhail
2018-02-06  6:08     ` Dave Chinner
2018-02-06  7:12       ` Mikhail Gavrilov
2018-02-07  3:40         ` mikhail
2018-02-07  6:55           ` Dave Chinner
2018-02-10  9:34             ` mikhail
2018-02-10  9:35               ` mikhail
2018-02-11 22:56                 ` Dave Chinner
2018-02-14 21:27                   ` mikhail
2018-02-14 21:52                     ` Dave Chinner
2018-02-15  3:40                       ` mikhail
2018-02-15  3:42                       ` mikhail
2018-02-15  3:46                         ` Matthew Wilcox
2018-02-15  5:44                         ` Dave Chinner
2018-02-15 19:02                           ` Mikhail Gavrilov
2018-02-15 21:48                             ` Dave Chinner [this message]
2018-02-18 14:02                               ` Mikhail Gavrilov
2018-02-19  5:02                                 ` Dave Chinner

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=20180215214858.GQ7000@dastard \
    --to=david@fromorbit.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=mikhail.v.gavrilov@gmail.com \
    /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).