login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2007
»
October
»
5
Re: [PATCH] remove throttle_vm_writeout()
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Peter Zijlstra
Subject:
Re: [PATCH] remove throttle_vm_writeout()
Date: Friday, October 5, 2007 - 12: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, 5:25 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 5:40 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 6:00 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 6:23 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 6:49 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 9:47 am)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 10:46 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Thu Oct 4, 11:10 am)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 11:54 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 2:07 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 2:56 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 3:39 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 4:09 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 4:26 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 4:48 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Thu Oct 4, 5:12 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Thu Oct 4, 5:48 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 12:32 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 1:22 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 2:22 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 2:47 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 3:27 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 3:32 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 3:57 am)
Re: [PATCH] remove throttle_vm_writeout()
, Miklos Szeredi
, (Fri Oct 5, 4:27 am)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 5:30 am)
Re: [PATCH] remove throttle_vm_writeout()
, John Stoffel
, (Fri Oct 5, 8:43 am)
Re: [PATCH] remove throttle_vm_writeout()
, Andrew Morton
, (Fri Oct 5, 10:20 am)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 10:50 am)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 11:32 am)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 12:20 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Trond Myklebust
, (Fri Oct 5, 12:23 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Rik van Riel
, (Fri Oct 5, 12:54 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Peter Zijlstra
, (Fri Oct 5, 2:07 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 5:40 pm)
Re: [PATCH] remove throttle_vm_writeout()
, Fengguang Wu
, (Fri Oct 5, 7:32 pm)
Navigation
Create content
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Greg KH
Re: [PATCH 1/1] staging: hv: Fix race condition on IC channel initialization (modi...
Brian Swetland
Re: Attempted summary of suspend-blockers LKML thread
Sam Ravnborg
[PATCH 05/11] x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86...
Christoph Lameter
Re: [PATCH 02/40] mm: slab allocation fairness
Alexey Dobriyan
Re: [2.6.22.2 review 09/84] Fix rfkill IRQ flags.
git
:
Felipe Contreras
Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins
Paolo Ciarrocchi
Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins
Sverre Rabbelier
Re: [GSoC] What is status of Git's Google Summer of Code 2008 projects?
Johannes Schindelin
Re: [PATCH] Fix install-doc-quick target
Peter Oberndorfer
Subject: [PATCH] fix stg edit command
linux-netdev
:
Andi Kleen
Re: RFC: Nagle latency tuning
Jarek Poplawski
Re: tc filter flow hash question
David Miller
Re: [RFC 0/5] generic rx recycling
Chuck Lever
Re: [RFC] ipv6: Change %pI6 format to output compacted addresses?
Jarek Poplawski
Re: socket api problem: can't bind an ipv6 socket to ::ffff:0.0.0.0
git-commits-head
:
Linux Kernel Mailing List
New device ID for sc92031 [1088:2031]
Linux Kernel Mailing List
e1000e: Expose MDI-X status via ethtool change
Linux Kernel Mailing List
NFS: Store pages from an NFS inode into a local cache
Linux Kernel Mailing List
powerpc/kexec: Add support for FSL-BookE
Linux Kernel Mailing List
arm/imx/gpio: GPIO_INT_{HIGH,LOW}_LEV are not necessarily constant
openbsd-misc
:
Theo de Raadt
Re: RES: OpenBSD on IBM System X3550 7879
Bret S. Lambert
Re: any web management gui for pf ?
Rob Shepherd
x86 hardware for router system
Leif Blixt
Re: Force passwordcheck in login.conf
ropers
Re: Real men don't attack straw men
Colocation donated by:
Syndicate