login
Login
/
Register
Search
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2007
»
October
»
5
Re: [PATCH] remove throttle_vm_writeout()
view
thread
!MAILaRCHIVE_VOTE_RePLACE
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From:
Peter Zijlstra <a.p.zijlstra@...>
To: Andrew Morton <akpm@...>
Cc: Miklos Szeredi <miklos@...>, <wfg@...>, <linux-mm@...>, <linux-kernel@...>
Subject:
Re: [PATCH] remove throttle_vm_writeout()
Date: Friday, October 5, 2007 - 3:32 am
On Thu, 2007-10-04 at 16:09 -0700, Andrew Morton wrote:
quoted text
> On Fri, 05 Oct 2007 00:39:16 +0200 > Miklos Szeredi <miklos@szeredi.hu> wrote: >=20 > > > throttle_vm_writeout() should be a per-zone thing, I guess. Perhaps =
fixing
quoted text
> > > that would fix your deadlock. That's doubtful, but I don't know anyt=
hing
quoted text
> > > about your deadlock so I cannot say. > >=20 > > No, doing the throttling per-zone won't in itself fix the deadlock. > >=20 > > Here's a deadlock example: > >=20 > > Total memory =3D 32M > > /proc/sys/vm/dirty_ratio =3D 10 > > dirty_threshold =3D 3M > > ratelimit_pages =3D 1M > >=20 > > Some program dirties 4M (dirty_threshold + ratelimit_pages) of mmap on > > a fuse fs. Page balancing is called which turns all these into > > writeback pages. > >=20 > > Then userspace filesystem gets a write request, and tries to allocate > > memory needed to complete the writeout. > >=20 > > That will possibly trigger direct reclaim, and throttle_vm_writeout() > > will be called. That will block until nr_writeback goes below 3.3M > > (dirty_threshold + 10%). But since all 4M of writeback is from the > > fuse fs, that will never happen. > >=20 > > Does that explain it better? > >=20 >=20 > yup, thanks. >=20 > This is a somewhat general problem: a userspace process is in the IO path=
.=20
quoted text
> Userspace block drivers, for example - pretty much anything which involve=
s
quoted text
> kernel->userspace upcalls for storage applications. >=20 > I solved it once in the past by marking the userspace process as > PF_MEMALLOC and I beleive that others have implemented the same hack. >=20 > I suspect that what we need is a general solution, and that the solution > will involve explicitly telling the kernel that this process is one which > actually cleans memory and needs special treatment. >=20 > Because I bet there will be other corner-cases where such a process needs > kernel help, and there might be optimisation opportunities as well. >=20 > Problem is, any such mark-me-as-special syscall would need to be > privileged, and FUSE servers presently don't require special perms (do > they?)
I think just adding nr_cpus * ratelimit_pages to the dirth_thresh in throttle_vm_writeout() will also solve the problem
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 8:25 am)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 5:56 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 6:39 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 7:09 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 3:32 am)
Re: [PATCH] remove throttle_vm_writeout()
, Rik van Riel
, (Fri Oct 5, 3:54 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 7:26 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 7:48 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 8:12 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 8:48 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 4:22 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 5:22 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 5:47 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 6:27 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 6:57 am)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 1:50 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 2:32 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 8:40 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 3:20 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 3:23 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 5:07 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 7:27 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 6:32 am)
Re: [PATCH] remove throttle_vm_writeout()
, John Stoffel
, (Fri Oct 5, 11:43 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 8:40 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 9:00 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 9:23 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 9:49 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 12:47 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 5:07 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 1:46 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 8:30 am)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Fri Oct 5, 1:20 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 10:32 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 2:10 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 2:54 pm)
Navigation
Create content
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Al Boldi
Re: [ck] Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu sched...
Ingo Molnar
Re: [patch] sched_clock(): cleanups
Greg KH
[GIT PATCH] driver core patches against 2.6.24
Amit K. Arora
[RFC] Heads up on sys_fallocate()
git
:
linux-netdev
:
Jarek Poplawski
[PATCH] pkt_sched: Destroy gen estimators under rtnl_lock().
David Miller
[GIT]: Networking
Gerrit Renker
[PATCH 18/37] dccp: Support for Mandatory options
Denys Vlasenko
[PATCH 1/2] bnx2: factor out gzip unpacker
openbsd-misc
:
Colocation donated by:
Who's online
There are currently
1 user
and
998 guests
online.
Online users
zeekec
Syndicate