From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx166.postini.com [74.125.245.166]) by kanga.kvack.org (Postfix) with SMTP id 4BD096B13F2 for ; Wed, 8 Feb 2012 02:55:26 -0500 (EST) Received: by qcsd16 with SMTP id d16so162153qcs.14 for ; Tue, 07 Feb 2012 23:55:25 -0800 (PST) MIME-Version: 1.0 From: Greg Thelen Date: Tue, 7 Feb 2012 23:55:05 -0800 Message-ID: Subject: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Content-Type: text/plain; charset=ISO-8859-1 Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , lsf-pc@lists.linux-foundation.org, KAMEZAWA Hiroyuki On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wrote: > If moving dirty pages out of the memcg to the 20% global dirty pages > pool on page reclaim, the above OOM can be avoided. It does change the > meaning of memory.limit_in_bytes in that the memcg tasks can now > actually consume more pages (up to the shared global 20% dirty limit). This seems like an easy change, but unfortunately the global 20% pool has some shortcomings for my needs: 1. the global 20% pool is not moderated. One cgroup can dominate it and deny service to other cgroups. 2. the global 20% pool is free, unaccounted memory. Ideally cgroups only use the amount of memory specified in their memory.limit_in_bytes. The goal is to sell portions of a system. Global resource like the 20% are an undesirable system-wide tax that's shared by jobs that may not even perform buffered writes. 3. Setting aside 20% extra memory for system wide dirty buffers is a lot of memory. This becomes a larger issue when the global dirty_ratio is higher than 20%. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx131.postini.com [74.125.245.131]) by kanga.kvack.org (Postfix) with SMTP id BDC1E6B13F1 for ; Wed, 8 Feb 2012 04:41:28 -0500 (EST) Date: Wed, 8 Feb 2012 17:31:20 +0800 From: Wu Fengguang Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Message-ID: <20120208093120.GA18993@localhost> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Greg Thelen Cc: Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , lsf-pc@lists.linux-foundation.org, KAMEZAWA Hiroyuki On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: > On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wrote: > > If moving dirty pages out of the memcg to the 20% global dirty pages > > pool on page reclaim, the above OOM can be avoided. It does change the > > meaning of memory.limit_in_bytes in that the memcg tasks can now > > actually consume more pages (up to the shared global 20% dirty limit). > > This seems like an easy change, but unfortunately the global 20% pool > has some shortcomings for my needs: > > 1. the global 20% pool is not moderated. One cgroup can dominate it > and deny service to other cgroups. It is moderated by balance_dirty_pages() -- in terms of dirty ratelimit. And you have the freedom to control the bandwidth allocation with some async write I/O controller. Even though there is no direct control of dirty pages, we can roughly get it as the side effect of rate control. Given ratelimit_cgroup_A = 2 * ratelimit_cgroup_B There will naturally be more dirty pages for cgroup A to be worked by the flusher. And the dirty pages will be roughly balanced around nr_dirty_cgroup_A = 2 * nr_dirty_cgroup_B when writeout bandwidths for their dirty pages are equal. > 2. the global 20% pool is free, unaccounted memory. Ideally cgroups only > use the amount of memory specified in their memory.limit_in_bytes. The > goal is to sell portions of a system. Global resource like the 20% are an > undesirable system-wide tax that's shared by jobs that may not even > perform buffered writes. Right, it is the shortcoming. > 3. Setting aside 20% extra memory for system wide dirty buffers is a lot of > memory. This becomes a larger issue when the global dirty_ratio is > higher than 20%. Yeah the global pool scheme does mean that you'd better allocate at most 80% memory to individual memory cgroups, otherwise it's possible for a tiny memcg doing dd writes to push dirty pages to global LRU and *squeeze* the size of other memcgs. However I guess it should be mitigated by the fact that - we typically already reserve some space for the root memcg - 20% dirty ratio is mostly an overkill for large memory systems. It's often enough to hold 10-30s worth of dirty data for them, which is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is introduced: someone wants to do some <1% dirty ratio. Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx121.postini.com [74.125.245.121]) by kanga.kvack.org (Postfix) with SMTP id 070C26B002C for ; Wed, 8 Feb 2012 15:54:34 -0500 (EST) Received: by qcsd16 with SMTP id d16so690540qcs.14 for ; Wed, 08 Feb 2012 12:54:34 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20120208093120.GA18993@localhost> References: <20120208093120.GA18993@localhost> Date: Wed, 8 Feb 2012 12:54:33 -0800 Message-ID: Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) From: Ying Han Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , "hannes@cmpxchg.org" , lsf-pc@lists.linux-foundation.org, KAMEZAWA Hiroyuki On Wed, Feb 8, 2012 at 1:31 AM, Wu Fengguang wrote= : > On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: >> On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wr= ote: >> > If moving dirty pages out of the memcg to the 20% global dirty pages >> > pool on page reclaim, the above OOM can be avoided. It does change the >> > meaning of memory.limit_in_bytes in that the memcg tasks can now >> > actually consume more pages (up to the shared global 20% dirty limit). >> >> This seems like an easy change, but unfortunately the global 20% pool >> has some shortcomings for my needs: >> >> 1. the global 20% pool is not moderated. =A0One cgroup can dominate it >> =A0 =A0 and deny service to other cgroups. > > It is moderated by balance_dirty_pages() -- in terms of dirty ratelimit. > And you have the freedom to control the bandwidth allocation with some > async write I/O controller. > > Even though there is no direct control of dirty pages, we can roughly > get it as the side effect of rate control. Given > > =A0 =A0 =A0 =A0ratelimit_cgroup_A =3D 2 * ratelimit_cgroup_B > > There will naturally be more dirty pages for cgroup A to be worked by > the flusher. And the dirty pages will be roughly balanced around > > =A0 =A0 =A0 =A0nr_dirty_cgroup_A =3D 2 * nr_dirty_cgroup_B > > when writeout bandwidths for their dirty pages are equal. > >> 2. the global 20% pool is free, unaccounted memory. =A0Ideally cgroups o= nly >> =A0 =A0 use the amount of memory specified in their memory.limit_in_byte= s. =A0The >> =A0 =A0 goal is to sell portions of a system. =A0Global resource like th= e 20% are an >> =A0 =A0 undesirable system-wide tax that's shared by jobs that may not e= ven >> =A0 =A0 perform buffered writes. > > Right, it is the shortcoming. > >> 3. Setting aside 20% extra memory for system wide dirty buffers is a lot= of >> =A0 =A0 memory. =A0This becomes a larger issue when the global dirty_rat= io is >> =A0 =A0 higher than 20%. > > Yeah the global pool scheme does mean that you'd better allocate at > most 80% memory to individual memory cgroups, otherwise it's possible > for a tiny memcg doing dd writes to push dirty pages to global LRU and > *squeeze* the size of other memcgs. > > However I guess it should be mitigated by the fact that > > - we typically already reserve some space for the root memcg Can you give more details on that? AFAIK, we don't treat root cgroup differently than other sub-cgroups, except root cgroup doesn't have limit. In general, I don't like the idea of shared pool in root for all the dirty pages. Imagining a system which has nothing running under root and every application runs within sub-cgroup. It is easy to track and limit each cgroup's memory usage, but not the pages being moved to root. We have been experiencing difficulties of tracking pages being re-parented to root, and this will make it even harder. --Ying > > - 20% dirty ratio is mostly an overkill for large memory systems. > =A0It's often enough to hold 10-30s worth of dirty data for them, which > =A0is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is > =A0introduced: someone wants to do some <1% dirty ratio. > > Thanks, > Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx103.postini.com [74.125.245.103]) by kanga.kvack.org (Postfix) with SMTP id 0E4536B002C for ; Thu, 9 Feb 2012 09:01:18 -0500 (EST) Date: Thu, 9 Feb 2012 21:50:43 +0800 From: Wu Fengguang Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Message-ID: <20120209135043.GA7620@localhost> References: <20120208093120.GA18993@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Ying Han Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , "hannes@cmpxchg.org" , lsf-pc@lists.linux-foundation.org, KAMEZAWA Hiroyuki On Wed, Feb 08, 2012 at 12:54:33PM -0800, Ying Han wrote: > On Wed, Feb 8, 2012 at 1:31 AM, Wu Fengguang wrote: > > On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: > >> On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wrote: > >> > If moving dirty pages out of the memcg to the 20% global dirty pages > >> > pool on page reclaim, the above OOM can be avoided. It does change the > >> > meaning of memory.limit_in_bytes in that the memcg tasks can now > >> > actually consume more pages (up to the shared global 20% dirty limit). > >> > >> This seems like an easy change, but unfortunately the global 20% pool > >> has some shortcomings for my needs: > >> > >> 1. the global 20% pool is not moderated. A One cgroup can dominate it > >> A A and deny service to other cgroups. > > > > It is moderated by balance_dirty_pages() -- in terms of dirty ratelimit. > > And you have the freedom to control the bandwidth allocation with some > > async write I/O controller. > > > > Even though there is no direct control of dirty pages, we can roughly > > get it as the side effect of rate control. Given > > > > A A A A ratelimit_cgroup_A = 2 * ratelimit_cgroup_B > > > > There will naturally be more dirty pages for cgroup A to be worked by > > the flusher. And the dirty pages will be roughly balanced around > > > > A A A A nr_dirty_cgroup_A = 2 * nr_dirty_cgroup_B > > > > when writeout bandwidths for their dirty pages are equal. > > > >> 2. the global 20% pool is free, unaccounted memory. A Ideally cgroups only > >> A A use the amount of memory specified in their memory.limit_in_bytes. A The > >> A A goal is to sell portions of a system. A Global resource like the 20% are an > >> A A undesirable system-wide tax that's shared by jobs that may not even > >> A A perform buffered writes. > > > > Right, it is the shortcoming. > > > >> 3. Setting aside 20% extra memory for system wide dirty buffers is a lot of > >> A A memory. A This becomes a larger issue when the global dirty_ratio is > >> A A higher than 20%. > > > > Yeah the global pool scheme does mean that you'd better allocate at > > most 80% memory to individual memory cgroups, otherwise it's possible > > for a tiny memcg doing dd writes to push dirty pages to global LRU and > > *squeeze* the size of other memcgs. > > > > However I guess it should be mitigated by the fact that > > > > - we typically already reserve some space for the root memcg > > Can you give more details on that? AFAIK, we don't treat root cgroup > differently than other sub-cgroups, except root cgroup doesn't have > limit. OK. I'd imagine this to be the typical usage for desktop and quite a few servers: a few cgroups are employed to limit the resource usage for selected tasks (such as backups, background GUI tasks, cron tasks, etc.). These systems are still running mainly in the global context. > In general, I don't like the idea of shared pool in root for all the > dirty pages. > > Imagining a system which has nothing running under root and every > application runs within sub-cgroup. It is easy to track and limit each > cgroup's memory usage, but not the pages being moved to root. We have > been experiencing difficulties of tracking pages being re-parented to > root, and this will make it even harder. So you want to push memcg allocations to the hardware limits. This is a worthwhile target for cloud servers that run a number of well contained jobs. I guess it can be achieved reasonably well with the global shared dirty pool. Let's discuss the two major cases. 1) no change of behavior For example, when the system memory is divided equally to 10 cgroups each running 1 dd. In this case, the dirty pages will be contained within the memcg LRUs. Page reclaim rarely encounters any dirty pages. There is no moving to the global LRU, so no side effect at all. 2) small memcg squeezing other memcg(s) When system memory is divided to 1 small memcg A and 1 large memcg B, each running a dd task. In this case the dirty pages from A will be moved to the global LRU, and global page reclaims will be triggered. In the end it will be balanced around - global LRU: 10% memory (which are A's dirty pages) - memcg B: 90% memory - memcg A: a tiny ignorable fraction of memory Now job B uses 10% less memory than w/o the global dirty pool scheme. I guess this is bad for some type of jobs. However my question is, will the typical demand be more flexible? Something like the "minimal" and "recommended" setup: "this job requires at least XXX memory and better at YYY memory", rather than some fixed size memory allocation. The minimal requirement should be trivially satisfied by adding a memcg watermark that protects the memcg LRU from being reclaimed when dropped under it. Then the cloud server could be configured to sum(memcg.limit_in_bytes) / memtotal = 100% sum(memcg.minimal_size) / memtotal < 100% - dirty_ratio Which makes a simple and flexibly partitioned system. Thanks, Fengguang > > - 20% dirty ratio is mostly an overkill for large memory systems. > > A It's often enough to hold 10-30s worth of dirty data for them, which > > A is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is > > A introduced: someone wants to do some <1% dirty ratio. > > > > Thanks, > > Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx195.postini.com [74.125.245.195]) by kanga.kvack.org (Postfix) with SMTP id CBF166B13F2 for ; Fri, 10 Feb 2012 00:51:53 -0500 (EST) Received: by vcbf13 with SMTP id f13so1153765vcb.14 for ; Thu, 09 Feb 2012 21:51:52 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20120208093120.GA18993@localhost> References: <20120208093120.GA18993@localhost> From: Greg Thelen Date: Thu, 9 Feb 2012 21:51:31 -0800 Message-ID: Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki (removed lsf-pc@lists.linux-foundation.org because this really isn't program committee matter) On Wed, Feb 8, 2012 at 1:31 AM, Wu Fengguang wrote= : > On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: >> On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wr= ote: >> > If moving dirty pages out of the memcg to the 20% global dirty pages >> > pool on page reclaim, the above OOM can be avoided. It does change the >> > meaning of memory.limit_in_bytes in that the memcg tasks can now >> > actually consume more pages (up to the shared global 20% dirty limit). >> >> This seems like an easy change, but unfortunately the global 20% pool >> has some shortcomings for my needs: >> >> 1. the global 20% pool is not moderated. =A0One cgroup can dominate it >> =A0 =A0 and deny service to other cgroups. > > It is moderated by balance_dirty_pages() -- in terms of dirty ratelimit. > And you have the freedom to control the bandwidth allocation with some > async write I/O controller. > > Even though there is no direct control of dirty pages, we can roughly > get it as the side effect of rate control. Given > > =A0 =A0 =A0 =A0ratelimit_cgroup_A =3D 2 * ratelimit_cgroup_B > > There will naturally be more dirty pages for cgroup A to be worked by > the flusher. And the dirty pages will be roughly balanced around > > =A0 =A0 =A0 =A0nr_dirty_cgroup_A =3D 2 * nr_dirty_cgroup_B > > when writeout bandwidths for their dirty pages are equal. > >> 2. the global 20% pool is free, unaccounted memory. =A0Ideally cgroups o= nly >> =A0 =A0 use the amount of memory specified in their memory.limit_in_byte= s. =A0The >> =A0 =A0 goal is to sell portions of a system. =A0Global resource like th= e 20% are an >> =A0 =A0 undesirable system-wide tax that's shared by jobs that may not e= ven >> =A0 =A0 perform buffered writes. > > Right, it is the shortcoming. > >> 3. Setting aside 20% extra memory for system wide dirty buffers is a lot= of >> =A0 =A0 memory. =A0This becomes a larger issue when the global dirty_rat= io is >> =A0 =A0 higher than 20%. > > Yeah the global pool scheme does mean that you'd better allocate at > most 80% memory to individual memory cgroups, otherwise it's possible > for a tiny memcg doing dd writes to push dirty pages to global LRU and > *squeeze* the size of other memcgs. > > However I guess it should be mitigated by the fact that > > - we typically already reserve some space for the root memcg > > - 20% dirty ratio is mostly an overkill for large memory systems. > =A0It's often enough to hold 10-30s worth of dirty data for them, which > =A0is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is > =A0introduced: someone wants to do some <1% dirty ratio. Have you encountered situations where it's desirable to have more than 20% dirty ratio? I imagine that if the dirty working set is larger than 20% increasing dirty ratio would prevent rewrites. Leaking dirty memory to a root global dirty pool is concerning. I suspect that under some conditions such pages may remain remain in root after writeback indefinitely as clean pages. I admit this may not be the common case, but having such leaks into root can allow low priority jobs access entire machine denying service to higher priority jobs. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx116.postini.com [74.125.245.116]) by kanga.kvack.org (Postfix) with SMTP id 5921F6B13F3 for ; Fri, 10 Feb 2012 00:52:25 -0500 (EST) Received: by vbip1 with SMTP id p1so2280647vbi.14 for ; Thu, 09 Feb 2012 21:52:24 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <20120208093120.GA18993@localhost> From: Greg Thelen Date: Thu, 9 Feb 2012 21:52:03 -0800 Message-ID: Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Content-Type: text/plain; charset=ISO-8859-1 Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: KAMEZAWA Hiroyuki , linux-mm@kvack.org, "hannes@cmpxchg.org" , Michal Hocko , "bsingharora@gmail.com" , Hugh Dickins , Ying Han , Mel Gorman (removed lsf-pc@lists.linux-foundation.org because this really isn't program committee matter) On Wed, Feb 1, 2012 at 11:52 PM, Wu Fengguang wrote: > Unfortunately the memcg partitioning could fundamentally make the > dirty throttling more bumpy. > > Imagine 10 memcgs each with > > - memcg_dirty_limit=50MB > - 1 dd dirty task > > The flusher thread will be working on 10 inodes in turn, each time > grabbing the next inode and taking ~0.5s to write ~50MB of its dirty > pages to the disk. So each inode will be flushed on every ~5s. Does the flusher thread need to write 50MB/inode in this case? Would there be problems interleaving writes by declaring some max write limit (e.g. 8 MiB/write). Such interleaving would be beneficial if there are multiple memcg expecting service from the single bdi flusher thread. I suspect certain filesystems might have increased fragmentation with this, but I am not sure if appending writes can easily expand an extent. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx191.postini.com [74.125.245.191]) by kanga.kvack.org (Postfix) with SMTP id D77D16B13F0 for ; Fri, 10 Feb 2012 04:30:32 -0500 (EST) Date: Fri, 10 Feb 2012 17:20:26 +0800 From: Wu Fengguang Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Message-ID: <20120210092026.GA16129@localhost> References: <20120208093120.GA18993@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Greg Thelen Cc: KAMEZAWA Hiroyuki , linux-mm@kvack.org, "hannes@cmpxchg.org" , Michal Hocko , "bsingharora@gmail.com" , Hugh Dickins , Ying Han , Mel Gorman On Thu, Feb 09, 2012 at 09:52:03PM -0800, Greg Thelen wrote: > (removed lsf-pc@lists.linux-foundation.org because this really isn't > program committee matter) > > On Wed, Feb 1, 2012 at 11:52 PM, Wu Fengguang wrote: > > Unfortunately the memcg partitioning could fundamentally make the > > dirty throttling more bumpy. > > > > Imagine 10 memcgs each with > > > > - memcg_dirty_limit=50MB > > - 1 dd dirty task > > > > The flusher thread will be working on 10 inodes in turn, each time > > grabbing the next inode and taking ~0.5s to write ~50MB of its dirty > > pages to the disk. So each inode will be flushed on every ~5s. > > Does the flusher thread need to write 50MB/inode in this case? > Would there be problems interleaving writes by declaring some max > write limit (e.g. 8 MiB/write). ext4 actually forces write chunk size to be >=128MB for better write throughput and less fragmentation, which also helps read performance. Other filesystems use the VFS computed chunk size, which is defined in writeback_chunk_size() as write_bandwith/2. > Such interleaving would be beneficial if there are multiple memcg > expecting service from the single bdi flusher thread. Right, reducing the writeback chunk size will improve the memcg's dirty pages smoothness right away. > I suspect certain filesystems might have increased fragmentation > with this, but I am not sure if appending writes can easily expand > an extent. To be exact, it's ext4 that will suffer from fragmentation with smaller chunk sizes. Because it uses the size passed by ->writepages() as hint to allocate extents. Perhaps this heuristic is somehow improvable. XFS does not have the fragmentation issue (at least not affected by the chunk size). However my old tests show that it costs much less seeks and performs noticeably better with raised write chunk size. Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx115.postini.com [74.125.245.115]) by kanga.kvack.org (Postfix) with SMTP id B41BB6B13F4 for ; Fri, 10 Feb 2012 06:57:15 -0500 (EST) Date: Fri, 10 Feb 2012 19:47:06 +0800 From: Wu Fengguang Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) Message-ID: <20120210114706.GA4704@localhost> References: <20120208093120.GA18993@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Greg Thelen Cc: Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki On Thu, Feb 09, 2012 at 09:51:31PM -0800, Greg Thelen wrote: > On Wed, Feb 8, 2012 at 1:31 AM, Wu Fengguang wrote: > > On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: > >> On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang wrote: > >> > If moving dirty pages out of the memcg to the 20% global dirty pages > >> > pool on page reclaim, the above OOM can be avoided. It does change the > >> > meaning of memory.limit_in_bytes in that the memcg tasks can now > >> > actually consume more pages (up to the shared global 20% dirty limit). > >> > >> This seems like an easy change, but unfortunately the global 20% pool > >> has some shortcomings for my needs: > >> > >> 1. the global 20% pool is not moderated. A One cgroup can dominate it > >> A A and deny service to other cgroups. > > > > It is moderated by balance_dirty_pages() -- in terms of dirty ratelimit. > > And you have the freedom to control the bandwidth allocation with some > > async write I/O controller. > > > > Even though there is no direct control of dirty pages, we can roughly > > get it as the side effect of rate control. Given > > > > A A A A ratelimit_cgroup_A = 2 * ratelimit_cgroup_B > > > > There will naturally be more dirty pages for cgroup A to be worked by > > the flusher. And the dirty pages will be roughly balanced around > > > > A A A A nr_dirty_cgroup_A = 2 * nr_dirty_cgroup_B > > > > when writeout bandwidths for their dirty pages are equal. > > > >> 2. the global 20% pool is free, unaccounted memory. A Ideally cgroups only > >> A A use the amount of memory specified in their memory.limit_in_bytes. A The > >> A A goal is to sell portions of a system. A Global resource like the 20% are an > >> A A undesirable system-wide tax that's shared by jobs that may not even > >> A A perform buffered writes. > > > > Right, it is the shortcoming. > > > >> 3. Setting aside 20% extra memory for system wide dirty buffers is a lot of > >> A A memory. A This becomes a larger issue when the global dirty_ratio is > >> A A higher than 20%. > > > > Yeah the global pool scheme does mean that you'd better allocate at > > most 80% memory to individual memory cgroups, otherwise it's possible > > for a tiny memcg doing dd writes to push dirty pages to global LRU and > > *squeeze* the size of other memcgs. > > > > However I guess it should be mitigated by the fact that > > > > - we typically already reserve some space for the root memcg > > > > - 20% dirty ratio is mostly an overkill for large memory systems. > > A It's often enough to hold 10-30s worth of dirty data for them, which > > A is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is > > A introduced: someone wants to do some <1% dirty ratio. > > Have you encountered situations where it's desirable to have more than > 20% dirty ratio? I imagine that if the dirty working set is larger > than 20% increasing dirty ratio would prevent rewrites. Not encountered in person, but there will sure be such situations. One may need to dirty some 40% sized in-memory data set and don't want to be throttled and trigger lots of I/O. In this case increasing the dirty ratio to 40% will do the job. The less obvious condition for this to work is, the workload should avoid much page allocations when working on the large fixed data set. Otherwise page reclaim will keep running into dirty pages and act badly. So it looks still pretty compatible with the "reparent to root memcg on page reclaim" scheme if that job is put into some memcg. There will be almost no dirty pages encountered during page reclaim, hence no move and no any side effects. But if there is another job doing heavy dirtying, that job will eat up the global 40% dirty limit and heavily impact the above job. This is one case the memcg dirty ratio can help a lot. > Leaking dirty memory to a root global dirty pool is concerning. I > suspect that under some conditions such pages may remain remain in > root after writeback indefinitely as clean pages. I admit this may > not be the common case, but having such leaks into root can allow low > priority jobs access entire machine denying service to higher priority > jobs. You are right. DoS can be achieved by loop { dirty one more page access all previously dirtied pages } Assuming only !PG_reference pages are moved to the global dirty pool, it requires someone to access the page in order for it to stay in the global LRU for one more cycle, and to access it frequently for keeping it in global LRU indefinitely. So yes, it's possible for some evil job to DoS the whole box. It will be an issue when hosting jobs from untrusted sources (ie. Amazon style cloud service), which I guess should be running inside KVM? It should hardly happen in real workloads. If some job does manage to do so, it probably means some kind of mis-configuration: the memcg is configured way too small to hold the job's working set. Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx195.postini.com [74.125.245.195]) by kanga.kvack.org (Postfix) with SMTP id 3019B6B13F0 for ; Sat, 11 Feb 2012 07:54:55 -0500 (EST) Date: Sat, 11 Feb 2012 20:44:45 +0800 From: Wu Fengguang Subject: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120211124445.GA10826@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120210114706.GA4704@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Greg Thelen Cc: Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Fri, Feb 10, 2012 at 07:47:06PM +0800, Wu Fengguang wrote: > On Thu, Feb 09, 2012 at 09:51:31PM -0800, Greg Thelen wrote: > > Have you encountered situations where it's desirable to have more than > > 20% dirty ratio? I imagine that if the dirty working set is larger > > than 20% increasing dirty ratio would prevent rewrites. > One may need to dirty some 40% sized in-memory data set and don't want > to be throttled and trigger lots of I/O. In this case increasing the > dirty ratio to 40% will do the job. > But if there is another job doing heavy dirtying, that job will eat up > the global 40% dirty limit and heavily impact the above job. This is > one case the memcg dirty ratio can help a lot. > > > Leaking dirty memory to a root global dirty pool is concerning. I > > suspect that under some conditions such pages may remain remain in > > root after writeback indefinitely as clean pages. I admit this may > > not be the common case, but having such leaks into root can allow low > > priority jobs access entire machine denying service to higher priority > > jobs. > > You are right. DoS can be achieved by > > loop { > dirty one more page > access all previously dirtied pages > } So there are situations that prefer the dirty pages to be strictly contained within the memcg. For these use cases it looks worthwhile to improve the page reclaim algorithms to handle the 100% dirty zone well. I'd regard this as a much more promising direction than memcg dirty ratio, because efforts on this is going to benefit the general kernel as a whole. The below patch aims to be the first step towards the goal. It turns out to work pretty well for avoiding OOM, with reasonably good I/O throughput and low CPU overheads. Hopefully the page reclaim can be further improved to make the 100% dirty zone a seriously supported and well performed case. Thanks, Fengguang --- Subject: writeback: introduce the pageout work Date: Thu Jul 29 14:41:19 CST 2010 This relays file pageout IOs to the flusher threads. The ultimate target is to gracefully handle the LRU lists full of dirty/writeback pages. 1) I/O efficiency The flusher will piggy back the around 1MB dirty pages for I/O (XXX: make the chunk size adaptive to the bdi write bandwidth). This takes advantage of the time/spacial locality in most workloads: the nearby pages of one file are typically populated into the LRU at the same time, hence will likely be close to each other in the LRU list. Writing them in one shot helps clean more pages effectively for page reclaim. 2) OOM avoidance and scan rate control Typically we do LRU scan w/o rate control and quickly get enough clean pages for the LRU lists not full of dirty pages. Or we can still get a number of freshly cleaned pages (moved to LRU tail by end_page_writeback()) when the queued pageout I/O is completed within tens of milli-seconds. However if the LRU list is small and full of dirty pages, it can be quickly fully scanned and go OOM before the flusher manages to clean enough pages. Here a simple yet reliable scheme is employed to avoid OOM and keep scan rate in sync with the I/O rate: if (PageReclaim(page)) congestion_wait(); PG_reclaim plays the key role. When dirty pages are encountered, we queue I/O for it, set PG_reclaim and put it back to the LRU head. So if PG_reclaim pages are encountered again, it means the dirty page has not yet been cleaned by the flusher after a full zone scan. It indicates we are scanning more fast than I/O and shall take a snap. The runtime behavior on a fully dirtied small LRU list would be: It will start with a quick scan of the list, queuing all pages for I/O. Then the scan will be slowed down by the PG_reclaim pages *adaptively* to match the I/O bandwidth. 3) writeback work coordinations To avoid memory allocations at page reclaim, a mempool for struct wb_writeback_work is created. wakeup_flusher_threads() is removed because it can easily delay the more oriented pageout works and even exhaust the mempool reservations. It's often not I/O efficient by submitting writeback works with small ->nr_pages. Background/periodic works will quit automatically (as done in another patch), so as to clean the pages under reclaim ASAP. However for now the sync work can still block us for long time. Jan Kara: limit the search scope. Note that the limited search and work pool is not a big problem: 1000 IOs under flight are typically more than enough to saturate the disk. And the overheads of searching in the work list didn't even show up in the perf report. 4) test case Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): mkdir /cgroup/x echo 100M > /cgroup/x/memory.limit_in_bytes echo $$ > /cgroup/x/tasks for i in `seq 2` do dd if=/dev/zero of=/fs/f$i bs=1k count=1M & done Before patch, the dd tasks are quickly OOM killed. After patch, they run well with reasonably good performance and overheads: 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s iostat -kx 1 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 15.08 33.92 0.00 50.75 0.25 0.00 14.54 35.09 0.00 50.13 0.50 0.00 13.57 32.41 0.00 53.52 0.50 0.00 11.28 36.84 0.00 51.38 0.50 0.00 15.75 32.00 0.00 51.75 0.50 0.00 10.50 34.00 0.00 55.00 0.50 0.00 17.63 27.46 0.00 54.41 0.50 0.00 15.08 30.90 0.00 53.52 0.50 0.00 11.28 32.83 0.00 55.39 0.75 0.00 16.79 26.82 0.00 55.64 0.50 0.00 16.08 29.15 0.00 54.27 0.50 0.00 13.50 30.50 0.00 55.50 0.50 0.00 14.32 35.18 0.00 50.00 0.50 0.00 12.06 33.92 0.00 53.52 0.50 0.00 17.29 30.58 0.00 51.63 0.50 0.00 15.08 29.65 0.00 54.77 0.50 0.00 12.53 29.32 0.00 57.64 0.50 0.00 15.29 31.83 0.00 52.38 The global dd iostat for comparison: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 11.22 52.30 0.00 35.97 0.25 0.00 10.15 52.54 0.00 37.06 0.25 0.00 5.01 56.64 0.00 38.10 0.51 0.00 15.15 43.94 0.00 40.40 0.25 0.00 12.12 48.23 0.00 39.39 0.51 0.00 11.20 53.94 0.00 34.35 0.26 0.00 9.72 51.41 0.00 38.62 0.76 0.00 9.62 50.63 0.00 38.99 0.51 0.00 10.46 53.32 0.00 35.71 0.51 0.00 9.41 51.91 0.00 38.17 0.25 0.00 10.69 49.62 0.00 39.44 0.51 0.00 12.21 52.67 0.00 34.61 0.51 0.00 11.45 53.18 0.00 34.86 Note that it's data for XFS. ext4 seems to have some problem with the workload: the majority pages are found to be writeback pages, and the flusher ends up blocking on the unconditional wait_on_page_writeback() in write_cache_pages_da() from time to time... XXX: commit NFS unstable pages via write_inode() XXX: the added congestion_wait() may be undesirable in some situations CC: Jan Kara CC: Mel Gorman CC: Rik van Riel CC: Greg Thelen CC: Minchan Kim Signed-off-by: Wu Fengguang --- fs/fs-writeback.c | 165 ++++++++++++++++++++++++++++- include/linux/writeback.h | 4 include/trace/events/writeback.h | 12 +- mm/vmscan.c | 17 +- 4 files changed, 184 insertions(+), 14 deletions(-) --- linux.orig/mm/vmscan.c 2012-02-03 21:42:21.000000000 +0800 +++ linux/mm/vmscan.c 2012-02-11 17:28:54.000000000 +0800 @@ -813,6 +813,8 @@ static unsigned long shrink_page_list(st if (PageWriteback(page)) { nr_writeback++; + if (PageReclaim(page)) + congestion_wait(BLK_RW_ASYNC, HZ/10); /* * Synchronous reclaim cannot queue pages for * writeback due to the possibility of stack overflow @@ -874,12 +876,15 @@ static unsigned long shrink_page_list(st nr_dirty++; /* - * Only kswapd can writeback filesystem pages to - * avoid risk of stack overflow but do not writeback - * unless under significant pressure. + * run into the visited page again: we are scanning + * faster than the flusher can writeout dirty pages */ - if (page_is_file_cache(page) && - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { + if (page_is_file_cache(page) && PageReclaim(page)) { + congestion_wait(BLK_RW_ASYNC, HZ/10); + goto keep_locked; + } + if (page_is_file_cache(page) && mapping && + flush_inode_page(mapping, page, true) >= 0) { /* * Immediately reclaim when written back. * Similar in principal to deactivate_page() @@ -2382,8 +2387,6 @@ static unsigned long do_try_to_free_page */ writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; if (total_scanned > writeback_threshold) { - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, - WB_REASON_TRY_TO_FREE_PAGES); sc->may_writepage = 1; } --- linux.orig/fs/fs-writeback.c 2012-02-03 21:42:16.000000000 +0800 +++ linux/fs/fs-writeback.c 2012-02-11 18:24:24.000000000 +0800 @@ -35,12 +35,21 @@ #define MIN_WRITEBACK_PAGES (4096UL >> (PAGE_CACHE_SHIFT - 10)) /* + * When flushing an inode page (for page reclaim), try to piggy back up to + * 1MB nearby pages for IO efficiency. These pages will have good opportunity + * to be in the same LRU list. + */ +#define WRITE_AROUND_PAGES (1024UL >> (PAGE_CACHE_SHIFT - 10)) + +/* * Passed into wb_writeback(), essentially a subset of writeback_control */ struct wb_writeback_work { long nr_pages; struct super_block *sb; unsigned long *older_than_this; + struct inode *inode; + pgoff_t offset; enum writeback_sync_modes sync_mode; unsigned int tagged_writepages:1; unsigned int for_kupdate:1; @@ -65,6 +74,27 @@ struct wb_writeback_work { */ int nr_pdflush_threads; +static mempool_t *wb_work_mempool; + +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) +{ + /* + * bdi_flush_inode_range() may be called on page reclaim + */ + if (current->flags & PF_MEMALLOC) + return NULL; + + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); +} + +static __init int wb_work_init(void) +{ + wb_work_mempool = mempool_create(1024, + wb_work_alloc, mempool_kfree, NULL); + return wb_work_mempool ? 0 : -ENOMEM; +} +fs_initcall(wb_work_init); + /** * writeback_in_progress - determine whether there is writeback in progress * @bdi: the device's backing_dev_info structure. @@ -129,7 +159,7 @@ __bdi_start_writeback(struct backing_dev * This is WB_SYNC_NONE writeback, so if allocation fails just * wakeup the thread for old dirty data writeback */ - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); if (!work) { if (bdi->wb.task) { trace_writeback_nowork(bdi); @@ -138,6 +168,7 @@ __bdi_start_writeback(struct backing_dev return; } + memset(work, 0, sizeof(*work)); work->sync_mode = WB_SYNC_NONE; work->nr_pages = nr_pages; work->range_cyclic = range_cyclic; @@ -186,6 +217,114 @@ void bdi_start_background_writeback(stru spin_unlock_bh(&bdi->wb_lock); } +static bool extend_writeback_range(struct wb_writeback_work *work, + pgoff_t offset) +{ + pgoff_t end = work->offset + work->nr_pages; + + if (offset >= work->offset && offset < end) + return true; + + if (work->nr_pages >= 8 * WRITE_AROUND_PAGES) + return false; + + /* the unsigned comparison helps eliminate one compare */ + if (work->offset - offset < WRITE_AROUND_PAGES) { + work->nr_pages += WRITE_AROUND_PAGES; + work->offset -= WRITE_AROUND_PAGES; + return true; + } + + if (offset - end < WRITE_AROUND_PAGES) { + work->nr_pages += WRITE_AROUND_PAGES; + return true; + } + + return false; +} + +/* + * schedule writeback on a range of inode pages. + */ +static struct wb_writeback_work * +bdi_flush_inode_range(struct backing_dev_info *bdi, + struct inode *inode, + pgoff_t offset, + pgoff_t len, + bool wait) +{ + struct wb_writeback_work *work; + + if (!igrab(inode)) + return ERR_PTR(-ENOENT); + + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); + if (!work) + return ERR_PTR(-ENOMEM); + + memset(work, 0, sizeof(*work)); + work->sync_mode = WB_SYNC_NONE; + work->inode = inode; + work->offset = offset; + work->nr_pages = len; + work->reason = WB_REASON_PAGEOUT; + + bdi_queue_work(bdi, work); + + return work; +} + +/* + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to + * improve IO throughput. The nearby pages will have good chance to reside in + * the same LRU list that vmscan is working on, and even close to each other + * inside the LRU list in the common case of sequential read/write. + * + * ret > 0: success, found/reused a previous writeback work + * ret = 0: success, allocated/queued a new writeback work + * ret < 0: failed + */ +long flush_inode_page(struct address_space *mapping, + struct page *page, + bool wait) +{ + struct backing_dev_info *bdi = mapping->backing_dev_info; + struct inode *inode = mapping->host; + pgoff_t offset = page->index; + pgoff_t len = 0; + struct wb_writeback_work *work; + long ret = -ENOENT; + + if (unlikely(!inode)) + goto out; + + len = 1; + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_reverse(work, &bdi->work_list, list) { + if (work->inode != inode) + continue; + if (extend_writeback_range(work, offset)) { + ret = len; + offset = work->offset; + len = work->nr_pages; + break; + } + if (len++ > 100) /* limit search depth */ + break; + } + spin_unlock_bh(&bdi->wb_lock); + + if (ret > 0) + goto out; + + offset = round_down(offset, WRITE_AROUND_PAGES); + len = WRITE_AROUND_PAGES; + work = bdi_flush_inode_range(bdi, inode, offset, len, wait); + ret = IS_ERR(work) ? PTR_ERR(work) : 0; +out: + return ret; +} + /* * Remove the inode from the writeback list it is on. */ @@ -833,6 +972,23 @@ static unsigned long get_nr_dirty_pages( get_nr_dirty_inodes(); } +static long wb_flush_inode(struct bdi_writeback *wb, + struct wb_writeback_work *work) +{ + struct writeback_control wbc = { + .sync_mode = WB_SYNC_NONE, + .nr_to_write = LONG_MAX, + .range_start = work->offset << PAGE_CACHE_SHIFT, + .range_end = (work->offset + work->nr_pages - 1) + << PAGE_CACHE_SHIFT, + }; + + do_writepages(work->inode->i_mapping, &wbc); + iput(work->inode); + + return LONG_MAX - wbc.nr_to_write; +} + static long wb_check_background_flush(struct bdi_writeback *wb) { if (over_bground_thresh(wb->bdi)) { @@ -905,7 +1061,10 @@ long wb_do_writeback(struct bdi_writebac trace_writeback_exec(bdi, work); - wrote += wb_writeback(wb, work); + if (work->inode) + wrote += wb_flush_inode(wb, work); + else + wrote += wb_writeback(wb, work); /* * Notify the caller of completion if this is a synchronous @@ -914,7 +1073,7 @@ long wb_do_writeback(struct bdi_writebac if (work->done) complete(work->done); else - kfree(work); + mempool_free(work, wb_work_mempool); } /* --- linux.orig/include/trace/events/writeback.h 2012-02-10 21:54:14.000000000 +0800 +++ linux/include/trace/events/writeback.h 2012-02-11 16:49:18.000000000 +0800 @@ -23,7 +23,7 @@ #define WB_WORK_REASON \ {WB_REASON_BACKGROUND, "background"}, \ - {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \ + {WB_REASON_PAGEOUT, "pageout"}, \ {WB_REASON_SYNC, "sync"}, \ {WB_REASON_PERIODIC, "periodic"}, \ {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \ @@ -45,6 +45,8 @@ DECLARE_EVENT_CLASS(writeback_work_class __field(int, range_cyclic) __field(int, for_background) __field(int, reason) + __field(unsigned long, ino) + __field(unsigned long, offset) ), TP_fast_assign( strncpy(__entry->name, dev_name(bdi->dev), 32); @@ -55,9 +57,11 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->range_cyclic = work->range_cyclic; __entry->for_background = work->for_background; __entry->reason = work->reason; + __entry->ino = work->inode ? work->inode->i_ino : 0; + __entry->offset = work->offset; ), TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " - "kupdate=%d range_cyclic=%d background=%d reason=%s", + "kupdate=%d range_cyclic=%d background=%d reason=%s ino=%lu offset=%lu", __entry->name, MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), __entry->nr_pages, @@ -65,7 +69,9 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->for_kupdate, __entry->range_cyclic, __entry->for_background, - __print_symbolic(__entry->reason, WB_WORK_REASON) + __print_symbolic(__entry->reason, WB_WORK_REASON), + __entry->ino, + __entry->offset ) ); #define DEFINE_WRITEBACK_WORK_EVENT(name) \ --- linux.orig/include/linux/writeback.h 2012-02-11 09:53:53.000000000 +0800 +++ linux/include/linux/writeback.h 2012-02-11 16:49:36.000000000 +0800 @@ -40,7 +40,7 @@ enum writeback_sync_modes { */ enum wb_reason { WB_REASON_BACKGROUND, - WB_REASON_TRY_TO_FREE_PAGES, + WB_REASON_PAGEOUT, WB_REASON_SYNC, WB_REASON_PERIODIC, WB_REASON_LAPTOP_TIMER, @@ -94,6 +94,8 @@ long writeback_inodes_wb(struct bdi_writ enum wb_reason reason); long wb_do_writeback(struct bdi_writeback *wb, int force_wait); void wakeup_flusher_threads(long nr_pages, enum wb_reason reason); +long flush_inode_page(struct address_space *mapping, struct page *page, + bool wait); /* writeback.h requires fs.h; it, too, is not included from here. */ static inline void wait_on_inode(struct inode *inode) -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx173.postini.com [74.125.245.173]) by kanga.kvack.org (Postfix) with SMTP id CF58C6B13F0 for ; Sat, 11 Feb 2012 09:55:50 -0500 (EST) Message-ID: <4F36816A.6030609@redhat.com> Date: Sat, 11 Feb 2012 09:55:38 -0500 From: Rik van Riel MIME-Version: 1.0 Subject: Re: reclaim the LRU lists full of dirty/writeback pages References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> In-Reply-To: <20120211124445.GA10826@localhost> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On 02/11/2012 07:44 AM, Wu Fengguang wrote: > Note that it's data for XFS. ext4 seems to have some problem with the > workload: the majority pages are found to be writeback pages, and the > flusher ends up blocking on the unconditional wait_on_page_writeback() > in write_cache_pages_da() from time to time... > > XXX: commit NFS unstable pages via write_inode() > XXX: the added congestion_wait() may be undesirable in some situations Even with these caveats, this seems to be the right way forward. > CC: Jan Kara > CC: Mel Gorman > CC: Rik van Riel > CC: Greg Thelen > CC: Minchan Kim > Signed-off-by: Wu Fengguang Acked-by: Rik van Riel -- All rights reversed -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx183.postini.com [74.125.245.183]) by kanga.kvack.org (Postfix) with SMTP id 5CCAD6B13F0 for ; Sat, 11 Feb 2012 22:20:38 -0500 (EST) Date: Sun, 12 Feb 2012 11:10:29 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120212031029.GA17435@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F36816A.6030609@redhat.com> Sender: owner-linux-mm@kvack.org List-ID: To: Rik van Riel Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Sat, Feb 11, 2012 at 09:55:38AM -0500, Rik van Riel wrote: > On 02/11/2012 07:44 AM, Wu Fengguang wrote: > > >Note that it's data for XFS. ext4 seems to have some problem with the > >workload: the majority pages are found to be writeback pages, and the > >flusher ends up blocking on the unconditional wait_on_page_writeback() > >in write_cache_pages_da() from time to time... Sorry I overlooked the WB_SYNC_NONE test before the wait_on_page_writeback() call! And the issue can no longer be reproduce anyway. ext4 performs pretty good now, here is the result for one single memcg dd: dd if=/dev/zero of=/fs/f$i bs=4k count=1M 4294967296 bytes (4.3 GB) copied, 44.5759 s, 96.4 MB/s iostat -kx 3 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 11.03 28.54 0.00 60.19 0.25 0.00 13.71 16.65 0.00 69.39 0.17 0.00 8.41 24.81 0.00 66.61 0.25 0.00 15.00 19.63 0.00 65.12 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 17.00 0.00 178.33 0.00 90694.67 1017.14 111.34 520.88 5.45 97.23 sda 0.00 0.00 0.00 193.67 0.00 98816.00 1020.48 86.22 496.81 4.81 93.07 sda 0.00 3.33 0.00 182.33 0.00 92345.33 1012.93 101.14 623.98 5.49 100.03 sda 0.00 3.00 0.00 187.00 0.00 95586.67 1022.32 89.36 441.70 4.96 92.70 > >XXX: commit NFS unstable pages via write_inode() > >XXX: the added congestion_wait() may be undesirable in some situations > > Even with these caveats, this seems to be the right way forward. > Acked-by: Rik van Riel Thank you! Here is the updated patch. - ~10ms write around chunk size, adaptive to the bdi bandwith - cleanup flush_inode_page() Thanks, Fengguang --- Subject: writeback: introduce the pageout work Date: Thu Jul 29 14:41:19 CST 2010 This relays file pageout IOs to the flusher threads. The ultimate target is to gracefully handle the LRU lists full of dirty/writeback pages. 1) I/O efficiency The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. This takes advantage of the time/spacial locality in most workloads: the nearby pages of one file are typically populated into the LRU at the same time, hence will likely be close to each other in the LRU list. Writing them in one shot helps clean more pages effectively for page reclaim. 2) OOM avoidance and scan rate control Typically we do LRU scan w/o rate control and quickly get enough clean pages for the LRU lists not full of dirty pages. Or we can still get a number of freshly cleaned pages (moved to LRU tail by end_page_writeback()) when the queued pageout I/O is completed within tens of milli-seconds. However if the LRU list is small and full of dirty pages, it can be quickly fully scanned and go OOM before the flusher manages to clean enough pages. A simple yet reliable scheme is employed to avoid OOM and keep scan rate in sync with the I/O rate: if (PageReclaim(page)) congestion_wait(HZ/10); PG_reclaim plays the key role. When dirty pages are encountered, we queue I/O for it, set PG_reclaim and put it back to the LRU head. So if PG_reclaim pages are encountered again, it means the dirty page has not yet been cleaned by the flusher after a full zone scan. It indicates we are scanning more fast than I/O and shall take a snap. The runtime behavior on a fully dirtied small LRU list would be: It will start with a quick scan of the list, queuing all pages for I/O. Then the scan will be slowed down by the PG_reclaim pages *adaptively* to match the I/O bandwidth. 3) writeback work coordinations To avoid memory allocations at page reclaim, a mempool for struct wb_writeback_work is created. wakeup_flusher_threads() is removed because it can easily delay the more oriented pageout works and even exhaust the mempool reservations. It's also found to not I/O efficient by frequently submitting writeback works with small ->nr_pages. Background/periodic works will quit automatically, so as to clean the pages under reclaim ASAP. However for now the sync work can still block us for long time. Jan Kara: limit the search scope. Note that the limited search and work pool is not a big problem: 1000 IOs under flight are typically more than enough to saturate the disk. And the overheads of searching in the work list didn't even show up in the perf report. 4) test case Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): mkdir /cgroup/x echo 100M > /cgroup/x/memory.limit_in_bytes echo $$ > /cgroup/x/tasks for i in `seq 2` do dd if=/dev/zero of=/fs/f$i bs=1k count=1M & done Before patch, the dd tasks are quickly OOM killed. After patch, they run well with reasonably good performance and overheads: 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s iostat -kx 1 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 15.08 33.92 0.00 50.75 0.25 0.00 14.54 35.09 0.00 50.13 0.50 0.00 13.57 32.41 0.00 53.52 0.50 0.00 11.28 36.84 0.00 51.38 0.50 0.00 15.75 32.00 0.00 51.75 0.50 0.00 10.50 34.00 0.00 55.00 0.50 0.00 17.63 27.46 0.00 54.41 0.50 0.00 15.08 30.90 0.00 53.52 0.50 0.00 11.28 32.83 0.00 55.39 0.75 0.00 16.79 26.82 0.00 55.64 0.50 0.00 16.08 29.15 0.00 54.27 0.50 0.00 13.50 30.50 0.00 55.50 0.50 0.00 14.32 35.18 0.00 50.00 0.50 0.00 12.06 33.92 0.00 53.52 0.50 0.00 17.29 30.58 0.00 51.63 0.50 0.00 15.08 29.65 0.00 54.77 0.50 0.00 12.53 29.32 0.00 57.64 0.50 0.00 15.29 31.83 0.00 52.38 The global dd numbers for comparison: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 11.22 52.30 0.00 35.97 0.25 0.00 10.15 52.54 0.00 37.06 0.25 0.00 5.01 56.64 0.00 38.10 0.51 0.00 15.15 43.94 0.00 40.40 0.25 0.00 12.12 48.23 0.00 39.39 0.51 0.00 11.20 53.94 0.00 34.35 0.26 0.00 9.72 51.41 0.00 38.62 0.76 0.00 9.62 50.63 0.00 38.99 0.51 0.00 10.46 53.32 0.00 35.71 0.51 0.00 9.41 51.91 0.00 38.17 0.25 0.00 10.69 49.62 0.00 39.44 0.51 0.00 12.21 52.67 0.00 34.61 0.51 0.00 11.45 53.18 0.00 34.86 XXX: commit NFS unstable pages via write_inode() XXX: the added congestion_wait() may be undesirable in some situations CC: Jan Kara CC: Mel Gorman Acked-by: Rik van Riel CC: Greg Thelen CC: Minchan Kim Signed-off-by: Wu Fengguang --- fs/fs-writeback.c | 167 ++++++++++++++++++++++++++++- include/linux/writeback.h | 4 include/trace/events/writeback.h | 12 +- mm/vmscan.c | 17 +- 4 files changed, 186 insertions(+), 14 deletions(-) --- linux.orig/mm/vmscan.c 2012-02-11 19:59:40.000000000 +0800 +++ linux/mm/vmscan.c 2012-02-11 20:07:48.000000000 +0800 @@ -813,6 +813,8 @@ static unsigned long shrink_page_list(st if (PageWriteback(page)) { nr_writeback++; + if (PageReclaim(page)) + congestion_wait(BLK_RW_ASYNC, HZ/10); /* * Synchronous reclaim cannot queue pages for * writeback due to the possibility of stack overflow @@ -874,12 +876,15 @@ static unsigned long shrink_page_list(st nr_dirty++; /* - * Only kswapd can writeback filesystem pages to - * avoid risk of stack overflow but do not writeback - * unless under significant pressure. + * run into the visited page again: we are scanning + * faster than the flusher can writeout dirty pages */ - if (page_is_file_cache(page) && - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { + if (page_is_file_cache(page) && PageReclaim(page)) { + congestion_wait(BLK_RW_ASYNC, HZ/10); + goto keep_locked; + } + if (page_is_file_cache(page) && mapping && + flush_inode_page(mapping, page, true) >= 0) { /* * Immediately reclaim when written back. * Similar in principal to deactivate_page() @@ -2382,8 +2387,6 @@ static unsigned long do_try_to_free_page */ writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; if (total_scanned > writeback_threshold) { - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, - WB_REASON_TRY_TO_FREE_PAGES); sc->may_writepage = 1; } --- linux.orig/fs/fs-writeback.c 2012-02-11 19:59:40.000000000 +0800 +++ linux/fs/fs-writeback.c 2012-02-12 10:54:05.000000000 +0800 @@ -41,6 +41,8 @@ struct wb_writeback_work { long nr_pages; struct super_block *sb; unsigned long *older_than_this; + struct inode *inode; + pgoff_t offset; enum writeback_sync_modes sync_mode; unsigned int tagged_writepages:1; unsigned int for_kupdate:1; @@ -65,6 +67,27 @@ struct wb_writeback_work { */ int nr_pdflush_threads; +static mempool_t *wb_work_mempool; + +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) +{ + /* + * bdi_flush_inode_range() may be called on page reclaim + */ + if (current->flags & PF_MEMALLOC) + return NULL; + + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); +} + +static __init int wb_work_init(void) +{ + wb_work_mempool = mempool_create(1024, + wb_work_alloc, mempool_kfree, NULL); + return wb_work_mempool ? 0 : -ENOMEM; +} +fs_initcall(wb_work_init); + /** * writeback_in_progress - determine whether there is writeback in progress * @bdi: the device's backing_dev_info structure. @@ -129,7 +152,7 @@ __bdi_start_writeback(struct backing_dev * This is WB_SYNC_NONE writeback, so if allocation fails just * wakeup the thread for old dirty data writeback */ - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); if (!work) { if (bdi->wb.task) { trace_writeback_nowork(bdi); @@ -138,6 +161,7 @@ __bdi_start_writeback(struct backing_dev return; } + memset(work, 0, sizeof(*work)); work->sync_mode = WB_SYNC_NONE; work->nr_pages = nr_pages; work->range_cyclic = range_cyclic; @@ -186,6 +210,123 @@ void bdi_start_background_writeback(stru spin_unlock_bh(&bdi->wb_lock); } +static bool extend_writeback_range(struct wb_writeback_work *work, + pgoff_t offset, + unsigned long write_around_pages) +{ + pgoff_t end = work->offset + work->nr_pages; + + if (offset >= work->offset && offset < end) + return true; + + /* + * for sequential workloads with good locality, include up to 8 times + * more data in one chunk + */ + if (work->nr_pages >= 8 * write_around_pages) + return false; + + /* the unsigned comparison helps eliminate one compare */ + if (work->offset - offset < write_around_pages) { + work->nr_pages += write_around_pages; + work->offset -= write_around_pages; + return true; + } + + if (offset - end < write_around_pages) { + work->nr_pages += write_around_pages; + return true; + } + + return false; +} + +/* + * schedule writeback on a range of inode pages. + */ +static struct wb_writeback_work * +bdi_flush_inode_range(struct backing_dev_info *bdi, + struct inode *inode, + pgoff_t offset, + pgoff_t len, + bool wait) +{ + struct wb_writeback_work *work; + + if (!igrab(inode)) + return ERR_PTR(-ENOENT); + + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); + if (!work) + return ERR_PTR(-ENOMEM); + + memset(work, 0, sizeof(*work)); + work->sync_mode = WB_SYNC_NONE; + work->inode = inode; + work->offset = offset; + work->nr_pages = len; + work->reason = WB_REASON_PAGEOUT; + + bdi_queue_work(bdi, work); + + return work; +} + +/* + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to + * improve IO throughput. The nearby pages will have good chance to reside in + * the same LRU list that vmscan is working on, and even close to each other + * inside the LRU list in the common case of sequential read/write. + * + * ret > 0: success, found/reused a previous writeback work + * ret = 0: success, allocated/queued a new writeback work + * ret < 0: failed + */ +long flush_inode_page(struct address_space *mapping, + struct page *page, + bool wait) +{ + struct backing_dev_info *bdi = mapping->backing_dev_info; + struct inode *inode = mapping->host; + struct wb_writeback_work *work; + unsigned long write_around_pages; + pgoff_t offset = page->index; + int i; + long ret = 0; + + if (unlikely(!inode)) + return -ENOENT; + + /* + * piggy back 8-15ms worth of data + */ + write_around_pages = bdi->avg_write_bandwidth + MIN_WRITEBACK_PAGES; + write_around_pages = rounddown_pow_of_two(write_around_pages) >> 6; + + i = 1; + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_reverse(work, &bdi->work_list, list) { + if (work->inode != inode) + continue; + if (extend_writeback_range(work, offset, write_around_pages)) { + ret = i; + break; + } + if (i++ > 100) /* limit search depth */ + break; + } + spin_unlock_bh(&bdi->wb_lock); + + if (!ret) { + offset = round_down(offset, write_around_pages); + work = bdi_flush_inode_range(bdi, inode, + offset, write_around_pages, wait); + if (IS_ERR(work)) + ret = PTR_ERR(work); + } + return ret; +} + /* * Remove the inode from the writeback list it is on. */ @@ -833,6 +974,23 @@ static unsigned long get_nr_dirty_pages( get_nr_dirty_inodes(); } +static long wb_flush_inode(struct bdi_writeback *wb, + struct wb_writeback_work *work) +{ + struct writeback_control wbc = { + .sync_mode = WB_SYNC_NONE, + .nr_to_write = LONG_MAX, + .range_start = work->offset << PAGE_CACHE_SHIFT, + .range_end = (work->offset + work->nr_pages - 1) + << PAGE_CACHE_SHIFT, + }; + + do_writepages(work->inode->i_mapping, &wbc); + iput(work->inode); + + return LONG_MAX - wbc.nr_to_write; +} + static long wb_check_background_flush(struct bdi_writeback *wb) { if (over_bground_thresh(wb->bdi)) { @@ -905,7 +1063,10 @@ long wb_do_writeback(struct bdi_writebac trace_writeback_exec(bdi, work); - wrote += wb_writeback(wb, work); + if (work->inode) + wrote += wb_flush_inode(wb, work); + else + wrote += wb_writeback(wb, work); /* * Notify the caller of completion if this is a synchronous @@ -914,7 +1075,7 @@ long wb_do_writeback(struct bdi_writebac if (work->done) complete(work->done); else - kfree(work); + mempool_free(work, wb_work_mempool); } /* --- linux.orig/include/trace/events/writeback.h 2012-02-11 19:59:40.000000000 +0800 +++ linux/include/trace/events/writeback.h 2012-02-11 20:07:48.000000000 +0800 @@ -23,7 +23,7 @@ #define WB_WORK_REASON \ {WB_REASON_BACKGROUND, "background"}, \ - {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \ + {WB_REASON_PAGEOUT, "pageout"}, \ {WB_REASON_SYNC, "sync"}, \ {WB_REASON_PERIODIC, "periodic"}, \ {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \ @@ -45,6 +45,8 @@ DECLARE_EVENT_CLASS(writeback_work_class __field(int, range_cyclic) __field(int, for_background) __field(int, reason) + __field(unsigned long, ino) + __field(unsigned long, offset) ), TP_fast_assign( strncpy(__entry->name, dev_name(bdi->dev), 32); @@ -55,9 +57,11 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->range_cyclic = work->range_cyclic; __entry->for_background = work->for_background; __entry->reason = work->reason; + __entry->ino = work->inode ? work->inode->i_ino : 0; + __entry->offset = work->offset; ), TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " - "kupdate=%d range_cyclic=%d background=%d reason=%s", + "kupdate=%d range_cyclic=%d background=%d reason=%s ino=%lu offset=%lu", __entry->name, MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), __entry->nr_pages, @@ -65,7 +69,9 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->for_kupdate, __entry->range_cyclic, __entry->for_background, - __print_symbolic(__entry->reason, WB_WORK_REASON) + __print_symbolic(__entry->reason, WB_WORK_REASON), + __entry->ino, + __entry->offset ) ); #define DEFINE_WRITEBACK_WORK_EVENT(name) \ --- linux.orig/include/linux/writeback.h 2012-02-11 19:59:40.000000000 +0800 +++ linux/include/linux/writeback.h 2012-02-11 20:07:48.000000000 +0800 @@ -40,7 +40,7 @@ enum writeback_sync_modes { */ enum wb_reason { WB_REASON_BACKGROUND, - WB_REASON_TRY_TO_FREE_PAGES, + WB_REASON_PAGEOUT, WB_REASON_SYNC, WB_REASON_PERIODIC, WB_REASON_LAPTOP_TIMER, @@ -94,6 +94,8 @@ long writeback_inodes_wb(struct bdi_writ enum wb_reason reason); long wb_do_writeback(struct bdi_writeback *wb, int force_wait); void wakeup_flusher_threads(long nr_pages, enum wb_reason reason); +long flush_inode_page(struct address_space *mapping, struct page *page, + bool wait); /* writeback.h requires fs.h; it, too, is not included from here. */ static inline void wait_on_inode(struct inode *inode) -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx127.postini.com [74.125.245.127]) by kanga.kvack.org (Postfix) with SMTP id 0E81C6B13F0 for ; Sun, 12 Feb 2012 01:55:50 -0500 (EST) Date: Sun, 12 Feb 2012 14:45:17 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120212064516.GA20163@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ibTvN161/egqYuK8" Content-Disposition: inline In-Reply-To: <20120212031029.GA17435@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Rik van Riel Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim --ibTvN161/egqYuK8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline > ext4 performs pretty good now, here is the result for one single > memcg dd: > > dd if=/dev/zero of=/fs/f$i bs=4k count=1M Here is one full writeback trace collected with echo 1 > /debug/tracing/events/writeback/enable echo 0 > /debug/tracing/events/writeback/global_dirty_state/enable echo 0 > /debug/tracing/events/writeback/wbc_writepage/enable echo 0 > /debug/tracing/events/writeback/writeback_wait_iff_congested/enable Looking at the reason=pageout lines, the chunk size at queue time is mostly nr_pages=256, and since it's a sequential dd with very good locality, lots of the pageout works have been extended to nr_pages=2048 at the time of execution. The progress is a bit bumpy in that the writeback_queue/writeback_exec lines and the writeback_congestion_wait lines tend to come together in batches. According to the attached graphs (generated on a private task_io trace event), the dd write progress is reasonably smooth. There are several sudden jump of both x and y values, maybe it's caused by lost trace samples. # tracer: nop # # entries-in-buffer/entries-written: 127889/168807 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | dd-4267 [002] .... 8250.326788: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8250.335124: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8250.343750: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8250.356916: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8250.361203: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8251.323386: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8251.363306: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8251.405320: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8251.427430: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8251.458557: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8251.476925: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8251.592810: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8251.647229: writeback_congestion_wait: usec_timeout=100000 usec_delayed=54000 dd-4267 [002] .... 8251.682142: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8251.728420: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8251.754083: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8251.819186: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=24320 flush-8:0-4272 [002] .... 8251.823270: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=24320 flush-8:0-4272 [002] .... 8251.826068: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=26368 flush-8:0-4272 [002] .... 8251.832939: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=28416 flush-8:0-4272 [002] .... 8251.839785: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=30464 flush-8:0-4272 [002] .... 8251.846554: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=32512 flush-8:0-4272 [002] .... 8251.852810: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=34560 flush-8:0-4272 [002] .... 8251.858865: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854775807 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8251.858866: writeback_queue_io: bdi 8:0: older=4302923541 age=0 enqueue=0 reason=background flush-8:0-4272 [002] .... 8251.860726: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=37632 to_write=1024 wrote=1024 flush-8:0-4272 [002] .... 8251.860729: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854774783 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8251.860730: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854774783 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8251.860731: writeback_queue_io: bdi 8:0: older=4302923543 age=0 enqueue=0 reason=background flush-8:0-4272 [002] .... 8252.607338: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=51712 to_write=1024 wrote=1024 flush-8:0-4272 [002] .... 8252.607341: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854774783 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8252.607342: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854774783 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8252.607343: writeback_queue_io: bdi 8:0: older=4302924290 age=0 enqueue=0 reason=background flush-8:0-4272 [002] .... 8253.026787: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=63232 flush-8:0-4272 [002] .... 8253.026915: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=63232 flush-8:0-4272 [002] .... 8253.027360: writeback_pages_written: 316 flush-8:0-4272 [002] .... 8253.027437: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=63744 flush-8:0-4272 [002] .... 8253.029744: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=63744 flush-8:0-4272 [002] .... 8253.030492: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=64512 flush-8:0-4272 [002] .... 8253.033488: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=65280 flush-8:0-4272 [002] .... 8253.036827: writeback_pages_written: 3584 flush-8:0-4272 [002] .... 8253.040560: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=67328 flush-8:0-4272 [002] .... 8253.042129: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=67328 flush-8:0-4272 [002] .... 8253.045098: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=69376 flush-8:0-4272 [002] .... 8253.050144: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=71424 ##### CPU 3 buffer started #### flush-8:0-4272 [002] .... 8253.485155: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=75008 flush-8:0-4272 [002] .... 8253.488248: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=75008 flush-8:0-4272 [002] .... 8253.488254: writeback_pages_written: 256 dd-4267 [003] .... 8253.587708: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8253.616408: writeback_congestion_wait: usec_timeout=100000 usec_delayed=28000 dd-4267 [002] .... 8253.627826: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8253.678663: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=75264 flush-8:0-4272 [002] .... 8253.682232: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=75264 flush-8:0-4272 [002] .... 8253.682240: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854775807 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8253.682240: writeback_queue_io: bdi 8:0: older=4302925365 age=0 enqueue=0 reason=background flush-8:0-4272 [002] .... 8253.684064: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=76544 to_write=1024 wrote=1024 flush-8:0-4272 [002] .... 8253.684067: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=9223372036854774783 sync_mode=0 kupdate=0 range_cyclic=1 background=1 reason=background ino=0 offset=0 flush-8:0-4272 [002] .... 8253.684069: writeback_pages_written: 1280 dd-4267 [002] .... 8253.730357: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8253.814751: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8253.850639: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8253.870770: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8253.897749: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8254.014484: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8254.113342: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8254.123898: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=76544 flush-8:0-4272 [002] .... 8254.128327: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=76544 flush-8:0-4272 [002] .... 8254.131253: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=78592 flush-8:0-4272 [002] .... 8254.138062: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=80640 flush-8:0-4272 [002] .... 8254.144703: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=82688 flush-8:0-4272 [002] .... 8254.230122: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=84736 flush-8:0-4272 [002] .... 8254.235649: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=86784 flush-8:0-4272 [002] .... 8254.241491: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=88832 flush-8:0-4272 [002] .... 8254.246782: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=90880 flush-8:0-4272 [002] .... 8254.249905: writeback_pages_written: 15360 flush-8:0-4272 [002] .... 8254.282817: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=91904 flush-8:0-4272 [002] .... 8254.285648: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=91904 flush-8:0-4272 [002] .... 8254.289279: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=93952 flush-8:0-4272 [002] .... 8254.292899: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=94976 flush-8:0-4272 [002] .... 8254.295917: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=97024 flush-8:0-4272 [002] .... 8254.299985: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=99072 flush-8:0-4272 [002] .... 8254.300865: writeback_pages_written: 7424 dd-4267 [003] .... 8254.393293: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8254.536096: writeback_congestion_wait: usec_timeout=100000 usec_delayed=82000 dd-4267 [002] .... 8254.625314: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=99328 dd-4267 [002] .... 8254.625340: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=99328 dd-4267 [002] .... 8254.626413: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8254.630694: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-0:16-4223 [003] .... 8255.307759: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=45399 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8255.307762: writeback_queue_io: bdi 0:16: older=4302896992 age=30000 enqueue=0 reason=periodic flush-0:16-4223 [003] .... 8255.307762: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=45399 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8255.307764: writeback_pages_written: 0 dd-4267 [002] .... 8255.318648: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=99584 dd-4267 [002] .... 8255.318664: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=99584 dd-4267 [002] .... 8255.320138: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=101632 dd-4267 [002] .... 8255.321638: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=103680 dd-4267 [002] .... 8255.323080: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=105728 dd-4267 [002] .... 8255.324538: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=107776 dd-4267 [002] .... 8255.326007: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=109824 dd-4267 [002] .... 8255.327498: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=111872 dd-4267 [002] .... 8255.328994: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=113920 dd-4267 [002] .... 8255.330478: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=115968 dd-4267 [002] .... 8255.332007: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=118016 dd-4267 [002] .... 8255.333557: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=120064 dd-4267 [002] .... 8255.335096: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=122112 dd-4267 [002] .... 8255.341094: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8255.345525: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8255.350156: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [003] .... 8255.767124: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_SYNC|I_DIRTY_DATASYNC|I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=127007 to_write=1024 wrote=2079 flush-8:0-4272 [003] .... 8255.767127: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=21763 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8255.767128: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=21763 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8255.767128: writeback_queue_io: bdi 8:0: older=4302897451 age=30000 enqueue=0 reason=periodic dd-4267 [002] .... 8255.913486: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [003] .... 8256.148983: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=141755 to_write=1024 wrote=5901 flush-8:0-4272 [003] .... 8256.148987: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=7015 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8256.148988: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=7015 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8256.148988: writeback_queue_io: bdi 8:0: older=4302897833 age=30000 enqueue=0 reason=periodic dd-4267 [002] .... 8256.369200: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [003] .... 8256.628529: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=150440 to_write=1024 wrote=6452 flush-8:0-4272 [003] .... 8256.628533: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=-1670 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8256.628536: writeback_pages_written: 50856 flush-8:0-4272 [003] .... 8256.628538: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=147456 flush-8:0-4272 [003] .... 8256.628545: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=149504 flush-8:0-4272 [003] .... 8256.630190: writeback_pages_written: 1112 dd-4267 [002] .... 8256.693086: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8256.909199: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8257.016875: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8257.041563: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8257.106900: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8257.246224: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [003] .... 8257.271030: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8257.348551: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8257.381224: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [003] .... 8257.393446: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=151552 flush-8:0-4272 [003] .... 8257.398224: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=151552 flush-8:0-4272 [003] .... 8257.400851: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=153600 dd-4267 [003] .... 8257.434020: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8257.541621: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8257.840373: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8258.031388: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8258.054534: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 flush-8:0-4272 [002] .... 8258.104190: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=175872 flush-8:0-4272 [002] .... 8258.107511: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=175872 flush-8:0-4272 [002] .... 8258.107923: writeback_pages_written: 512 dd-4267 [002] .... 8258.126205: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8258.130305: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=176384 dd-4267 [002] .... 8258.130881: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8258.133116: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8258.137594: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8258.257151: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8258.357770: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8258.406325: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8258.432124: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8258.452275: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8258.472362: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8258.492576: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [002] .... 8258.518908: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=176640 flush-8:0-4272 [002] .... 8258.523446: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=176640 flush-8:0-4272 [002] .... 8258.523453: writeback_pages_written: 256 dd-4267 [002] .... 8258.545795: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8258.559572: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=176896 flush-8:0-4272 [002] .... 8258.564143: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=176896 flush-8:0-4272 [002] .... 8258.567279: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=178944 flush-8:0-4272 [002] .... 8258.575307: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=180992 dd-4267 [002] .... 8258.779190: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=192256 dd-4267 [002] .... 8258.779212: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=192256 dd-4267 [002] .... 8258.784476: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=193280 dd-4267 [002] .... 8258.784497: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=193280 dd-4267 [002] .... 8258.786546: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=195328 dd-4267 [002] .... 8258.788222: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=197376 dd-4267 [002] .... 8258.789834: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=199424 dd-4267 [003] .... 8259.091794: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [003] .... 8259.103932: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8259.142635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 flush-8:0-4272 [003] .... 8259.166727: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=200448 flush-8:0-4272 [003] .... 8259.169783: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=200448 flush-8:0-4272 [003] .... 8259.169790: writeback_pages_written: 256 dd-4267 [003] .... 8259.183714: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 flush-8:0-4272 [003] .... 8259.211788: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=200704 flush-8:0-4272 [003] .... 8259.214924: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=200704 flush-8:0-4272 [003] .... 8259.217800: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=202752 flush-8:0-4272 [003] .... 8259.222920: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=204800 flush-8:0-4272 [003] .... 8259.226184: writeback_pages_written: 5120 dd-4267 [003] .... 8259.257092: writeback_congestion_wait: usec_timeout=100000 usec_delayed=35000 dd-4267 [003] .... 8259.275740: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=205824 dd-4267 [003] .... 8259.275756: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=205824 dd-4267 [003] .... 8259.277624: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8259.298203: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8259.318745: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8259.451826: writeback_congestion_wait: usec_timeout=100000 usec_delayed=54000 dd-4267 [003] .... 8259.465856: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8259.499584: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8259.518780: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8259.538457: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8259.558070: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [003] .... 8259.570146: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=206080 flush-8:0-4272 [003] .... 8259.573737: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=206080 flush-8:0-4272 [003] .... 8259.574164: writeback_pages_written: 512 dd-4267 [003] .... 8259.577670: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [003] .... 8259.594106: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=206592 flush-8:0-4272 [003] .... 8259.597848: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=206592 flush-8:0-4272 [003] .... 8259.600521: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=208640 flush-8:0-4272 [003] .... 8259.606747: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=210688 flush-8:0-4272 [003] .... 8259.612775: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=212736 flush-8:0-4272 [003] .... 8259.618277: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=214784 dd-4267 [003] .... 8259.656171: writeback_congestion_wait: usec_timeout=100000 usec_delayed=37000 dd-4267 [003] .... 8259.890390: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=216576 dd-4267 [003] .... 8259.890404: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=216576 dd-4267 [003] .... 8259.891900: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=218624 dd-4267 [003] .... 8259.895754: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=220672 dd-4267 [003] .... 8259.897308: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=222720 dd-4267 [003] .... 8259.902780: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8259.908417: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8260.079480: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8260.084487: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=224768 dd-4267 [003] .... 8260.084506: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=224768 dd-4267 [003] .... 8260.107416: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8260.173675: writeback_congestion_wait: usec_timeout=100000 usec_delayed=38000 dd-4267 [003] .... 8261.028667: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8261.148521: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8261.283270: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=26057 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8261.283272: writeback_queue_io: bdi 8:0: older=4302902970 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [002] .... 8261.285234: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=250624 to_write=1024 wrote=1024 flush-8:0-4272 [002] .... 8261.285237: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=25033 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8261.285237: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=25033 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8261.285238: writeback_queue_io: bdi 8:0: older=4302902972 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [002] .... 8261.556566: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=258435 to_write=1024 wrote=4472 flush-8:0-4272 [002] .... 8261.556570: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=17222 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8261.556571: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=17222 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8261.556571: writeback_queue_io: bdi 8:0: older=4302903244 age=30000 enqueue=0 reason=periodic dd-4267 [003] .... 8261.828188: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8261.930822: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=272384 dd-4267 [003] .... 8261.934217: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=274432 dd-4267 [003] .... 8262.188991: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8262.287291: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=276437 to_write=1024 wrote=6356 flush-8:0-4272 [002] .... 8262.287296: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=-780 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8262.287298: writeback_pages_written: 51413 flush-8:0-4272 [002] .... 8262.287300: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=272384 flush-8:0-4272 [002] .... 8262.287308: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=274432 flush-8:0-4272 [002] .... 8262.287312: writeback_pages_written: 0 ##### CPU 1 buffer started #### dd-4267 [001] .... 8262.412091: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276224 flush-8:0-4272 [002] .... 8262.412109: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276224 dd-4267 [001] .... 8262.412113: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276224 flush-8:0-4272 [002] .... 8262.412273: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276224 dd-4267 [001] .... 8262.412843: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8262.413228: writeback_pages_written: 299 dd-4267 [002] .... 8262.432804: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8262.452739: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8262.472704: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8262.546051: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8262.585998: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8262.635683: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8262.655672: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8262.675597: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8262.695554: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8262.717581: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8262.738142: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8262.758666: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8262.780860: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8262.801393: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8262.811726: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8262.821976: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8262.842505: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [002] .... 8262.855614: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276736 flush-8:0-4272 [002] .... 8262.862079: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=276736 dd-4267 [001] .... 8262.863088: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=280832 dd-4267 [001] .... 8262.864811: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=282880 flush-8:0-4272 [002] .... 8262.865154: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=278784 dd-4267 [001] .... 8262.866948: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=284928 dd-4267 [001] .... 8262.868516: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=286976 dd-4267 [002] .... 8262.873680: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [001] .... 8263.074676: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=282880 flush-8:0-4272 [001] .... 8263.082377: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=284928 flush-8:0-4272 [001] .... 8263.088659: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=286976 flush-8:0-4272 [001] .... 8263.093872: writeback_pages_written: 12032 dd-4267 [002] .... 8263.162787: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=288768 flush-8:0-4272 [001] .... 8263.162806: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=288768 dd-4267 [002] .... 8263.162807: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=288768 dd-4267 [002] .... 8263.166798: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=290816 flush-8:0-4272 [001] .... 8263.167706: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=288768 dd-4267 [002] .... 8263.168416: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=292864 dd-4267 [002] .... 8263.170061: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=294912 flush-8:0-4272 [001] .... 8263.172041: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=290816 dd-4267 [002] .... 8263.174392: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=296960 dd-4267 [002] .... 8263.178723: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=299008 flush-8:0-4272 [001] .... 8263.178800: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=292864 dd-4267 [002] .... 8263.180744: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8263.184819: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [001] .... 8263.184948: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=294912 flush-8:0-4272 [001] .... 8263.189635: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=296960 flush-8:0-4272 [001] .... 8263.193882: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=299008 flush-8:0-4272 [001] .... 8263.196897: writeback_pages_written: 11520 dd-4267 [001] .... 8263.371538: writeback_congestion_wait: usec_timeout=100000 usec_delayed=22000 dd-4267 [001] .... 8263.391105: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8263.397755: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8263.417164: writeback_congestion_wait: usec_timeout=100000 usec_delayed=15000 dd-4267 [003] .... 8263.421709: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8263.424214: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8263.466360: writeback_congestion_wait: usec_timeout=100000 usec_delayed=43000 dd-4267 [001] .... 8263.482457: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=300288 flush-8:0-4272 [003] .... 8263.482473: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=300288 dd-4267 [001] .... 8263.482480: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=300288 dd-4267 [001] .... 8263.483957: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=302336 dd-4267 [001] .... 8263.485413: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=304384 flush-8:0-4272 [003] .... 8263.485563: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=300288 flush-8:0-4272 [003] .... 8263.488444: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=302336 flush-8:0-4272 [003] .... 8263.493375: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=304384 flush-8:0-4272 [003] .... 8263.497569: writeback_pages_written: 5888 dd-4267 [003] .... 8263.586187: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8263.621915: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306176 flush-8:0-4272 [001] .... 8263.621932: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306176 dd-4267 [003] .... 8263.621932: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306176 flush-8:0-4272 [001] .... 8263.624277: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306176 flush-8:0-4272 [001] .... 8263.624284: writeback_pages_written: 256 dd-4267 [001] .... 8263.713731: writeback_congestion_wait: usec_timeout=100000 usec_delayed=92000 dd-4267 [003] .... 8263.762825: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8263.772571: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8263.782397: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8263.786346: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8263.792063: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8263.794373: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8263.802026: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8263.823655: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306432 flush-8:0-4272 [003] .... 8263.823672: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306432 dd-4267 [001] .... 8263.823673: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306432 dd-4267 [001] .... 8263.826272: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8263.828813: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8263.831328: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8263.835578: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8263.843013: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8263.852831: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8263.862617: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8263.872450: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8263.894518: writeback_congestion_wait: usec_timeout=100000 usec_delayed=18000 dd-4267 [001] .... 8263.898954: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8263.942418: writeback_congestion_wait: usec_timeout=100000 usec_delayed=44000 dd-4267 [001] .... 8263.962011: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306688 dd-4267 [001] .... 8263.962030: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=306688 dd-4267 [001] .... 8263.963721: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=308736 dd-4267 [001] .... 8263.965316: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=310784 dd-4267 [001] .... 8263.966932: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=312832 dd-4267 [003] .... 8263.969872: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8264.003468: writeback_congestion_wait: usec_timeout=100000 usec_delayed=31000 dd-4267 [001] .... 8264.005330: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8264.007494: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8264.172407: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8264.179889: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8264.185841: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.190127: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8264.196118: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.200459: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8264.206405: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.210702: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8264.216654: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.221002: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8264.226948: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.231270: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8264.237169: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.241569: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8264.247491: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8264.249307: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=313856 dd-4267 [003] .... 8264.249328: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=313856 dd-4267 [003] .... 8264.250997: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=315904 dd-4267 [003] .... 8264.251768: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8264.255542: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=317952 dd-4267 [003] .... 8264.257148: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=320000 dd-4267 [001] .... 8264.257726: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8264.262047: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8264.268005: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8264.270266: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=321792 dd-4267 [001] .... 8264.271910: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=323840 dd-4267 [003] .... 8264.373787: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8264.530715: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8264.602404: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=325120 flush-8:0-4272 [002] .... 8264.605571: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=325120 flush-8:0-4272 [002] .... 8264.608617: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=327168 flush-8:0-4272 [002] .... 8264.613823: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=329216 flush-8:0-4272 [002] .... 8264.617055: writeback_pages_written: 5376 dd-4267 [003] .... 8264.706635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8264.777165: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330496 flush-8:0-4272 [002] .... 8264.777184: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330496 dd-4267 [003] .... 8264.777184: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330496 flush-8:0-4272 [002] .... 8264.780903: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330496 flush-8:0-4272 [002] .... 8264.780910: writeback_pages_written: 256 dd-4267 [002] .... 8264.781921: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8264.821810: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8264.845760: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8264.875710: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8264.887380: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330752 flush-8:0-4272 [002] .... 8264.890912: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=330752 flush-8:0-4272 [002] .... 8264.890919: writeback_pages_written: 256 dd-4267 [002] .... 8264.901596: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [002] .... 8264.941549: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8264.965702: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 flush-8:0-4272 [002] .... 8264.983529: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=331008 flush-8:0-4272 [002] .... 8264.987449: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=331008 flush-8:0-4272 [002] .... 8264.987456: writeback_pages_written: 256 dd-4267 [002] .... 8264.991277: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [002] .... 8265.017144: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=331264 flush-8:0-4272 [002] .... 8265.021013: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=331264 flush-8:0-4272 [002] .... 8265.024087: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=333312 flush-8:0-4272 [002] .... 8265.030297: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=335360 flush-8:0-4272 [002] .... 8265.036048: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=337408 flush-8:0-4272 [002] .... 8265.039951: writeback_pages_written: 7168 dd-4267 [002] .... 8265.057223: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8265.077361: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8265.097530: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8265.117633: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8265.143609: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8265.163795: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8265.183921: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8265.204076: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8265.211688: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=338432 flush-8:0-4272 [002] .... 8265.215220: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=338432 flush-8:0-4272 [002] .... 8265.215226: writeback_pages_written: 256 dd-4267 [002] .... 8265.224208: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8265.231866: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=338688 flush-8:0-4272 [002] .... 8265.235287: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=338688 flush-8:0-4272 [002] .... 8265.238119: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=340736 flush-8:0-4272 [002] .... 8265.243774: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=342784 flush-8:0-4272 [002] .... 8265.249266: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=344832 flush-0:16-4223 [003] .... 8265.302236: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=30929 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8265.302237: writeback_queue_io: bdi 0:16: older=4302906992 age=30000 enqueue=0 reason=periodic flush-0:16-4223 [003] .... 8265.302238: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=30929 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8265.302243: writeback_pages_written: 0 dd-4267 [002] .... 8265.346236: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8265.415236: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=346368 dd-4267 [002] .... 8265.415253: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=346368 dd-4267 [002] .... 8265.416806: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=348416 dd-4267 [002] .... 8265.593749: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8265.597894: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=349696 dd-4267 [002] .... 8265.597911: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=349696 dd-4267 [002] .... 8265.599469: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=351744 dd-4267 [002] .... 8265.601033: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=353792 dd-4267 [002] .... 8265.603547: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [001] .... 8265.604475: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=351744 flush-8:0-4272 [001] .... 8265.612575: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=353792 flush-8:0-4272 [001] .... 8265.615654: writeback_pages_written: 5120 flush-8:0-4272 [001] .... 8265.779243: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=354816 dd-4267 [002] .... 8265.780668: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [003] .... 8266.597438: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=354816 flush-8:0-4272 [003] .... 8266.597448: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=34303 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.597449: writeback_queue_io: bdi 8:0: older=4302908287 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8266.599938: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=356096 to_write=1024 wrote=1024 flush-8:0-4272 [003] .... 8266.599941: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=33279 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.599942: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=33279 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.599942: writeback_queue_io: bdi 8:0: older=4302908290 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8266.622191: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=367701 to_write=1024 wrote=11605 flush-8:0-4272 [003] .... 8266.622196: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=21674 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.622196: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=21674 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.622197: writeback_queue_io: bdi 8:0: older=4302908312 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8266.624595: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302921148 age=55 index=368861 to_write=1024 wrote=1160 flush-8:0-4272 [003] .... 8266.624597: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=20514 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.624597: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=20514 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.624598: writeback_queue_io: bdi 8:0: older=4302908315 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8266.625314: writeback_single_inode: bdi 8:0: ino=13 state=I_DIRTY_PAGES dirtied_when=4302938315 age=38 index=368861 to_write=1024 wrote=145 flush-8:0-4272 [003] .... 8266.625316: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=20369 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.625317: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=20369 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.625317: writeback_queue_io: bdi 8:0: older=4302908315 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8266.625317: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=20369 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8266.625319: writeback_pages_written: 14190 flush-8:0-4272 [003] .... 8266.825892: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=368896 flush-8:0-4272 [003] .... 8266.826219: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=368896 flush-8:0-4272 [003] .... 8266.827173: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=369408 flush-8:0-4272 [003] .... 8266.829558: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=370688 flush-8:0-4272 [003] .... 8266.832712: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=372736 flush-8:0-4272 [003] .... 8266.838252: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=374784 flush-8:0-4272 [003] .... 8266.842368: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=376832 dd-4267 [002] .... 8266.935447: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [001] .... 8266.999637: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=378880 flush-8:0-4272 [001] .... 8267.145618: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=380928 flush-8:0-4272 [001] .... 8267.148792: writeback_pages_written: 13202 dd-4267 [001] .... 8267.351195: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8267.361164: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8267.370981: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.380830: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.390569: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.400401: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8267.410227: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8267.420027: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8267.429869: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.439597: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8267.449465: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.459294: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8267.469116: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8267.477442: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8267.481950: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8267.486445: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.490959: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8267.609943: writeback_congestion_wait: usec_timeout=100000 usec_delayed=97000 dd-4267 [003] .... 8267.614031: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.618624: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8267.628386: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8267.635454: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.639944: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.644410: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.648982: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8267.654300: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.658700: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8267.667206: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8267.669674: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8267.674305: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8267.706797: writeback_congestion_wait: usec_timeout=100000 usec_delayed=18000 dd-4267 [001] .... 8267.711275: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8267.719838: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8267.729680: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8267.737881: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8267.742316: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8267.752567: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=382208 flush-8:0-4272 [003] .... 8267.752583: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=382208 dd-4267 [001] .... 8267.752584: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=382208 dd-4267 [001] .... 8267.754070: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=384256 dd-4267 [001] .... 8267.755594: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=386304 dd-4267 [001] .... 8267.757105: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=388352 flush-8:0-4272 [003] .... 8267.757895: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=382208 dd-4267 [001] .... 8267.758599: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=390400 dd-4267 [001] .... 8267.760122: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=392448 flush-8:0-4272 [003] .... 8267.760868: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=384256 flush-8:0-4272 [003] .... 8267.768745: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=386304 flush-8:0-4272 [003] .... 8267.776742: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=388352 flush-8:0-4272 [003] .... 8267.783814: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=390400 flush-8:0-4272 [003] .... 8267.790773: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=392448 flush-8:0-4272 [003] .... 8267.797382: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=394496 flush-8:0-4272 [003] .... 8267.803995: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=396544 flush-8:0-4272 [003] .... 8267.809316: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=398592 flush-8:0-4272 [003] .... 8267.813952: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=400640 flush-8:0-4272 [003] .... 8267.818094: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=402688 dd-4267 [002] .... 8267.905908: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [001] .... 8267.938284: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=404736 flush-8:0-4272 [001] .... 8267.943129: writeback_pages_written: 24320 dd-4267 [001] .... 8268.163764: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.173986: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8268.184334: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8268.194576: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.198511: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=406528 flush-8:0-4272 [003] .... 8268.198524: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=406528 dd-4267 [001] .... 8268.198525: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=406528 flush-8:0-4272 [003] .... 8268.202131: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=406528 flush-8:0-4272 [003] .... 8268.204478: writeback_pages_written: 1280 dd-4267 [001] .... 8268.204959: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.209828: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=407808 flush-8:0-4272 [003] .... 8268.209837: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=407808 dd-4267 [001] .... 8268.209837: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=407808 flush-8:0-4272 [003] .... 8268.212352: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=407808 flush-8:0-4272 [003] .... 8268.212358: writeback_pages_written: 256 dd-4267 [001] .... 8268.215084: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8268.227002: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [001] .... 8268.237303: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.247561: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.257823: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8268.268081: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.278409: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.288799: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8268.298937: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8268.309285: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.319485: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.323556: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408064 flush-8:0-4272 [003] .... 8268.323569: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408064 dd-4267 [001] .... 8268.323570: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408064 flush-8:0-4272 [003] .... 8268.326837: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408064 flush-8:0-4272 [003] .... 8268.326843: writeback_pages_written: 256 dd-4267 [001] .... 8268.329773: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8268.333919: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8268.339844: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.345842: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.350165: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8268.356091: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.358321: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8268.362952: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8268.383814: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.437266: writeback_congestion_wait: usec_timeout=100000 usec_delayed=52000 dd-4267 [001] .... 8268.442101: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8268.444583: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8268.448725: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8268.457661: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8268.467635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.477643: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8268.487599: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.497414: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.501582: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.507385: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8268.511569: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8268.517350: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.521564: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.527355: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8268.531537: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8268.533925: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8268.539707: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8268.561714: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408320 flush-8:0-4272 [003] .... 8268.561729: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408320 dd-4267 [001] .... 8268.561736: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408320 dd-4267 [001] .... 8268.562225: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8268.564550: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [003] .... 8268.566727: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408320 flush-8:0-4272 [003] .... 8268.566734: writeback_pages_written: 256 dd-4267 [001] .... 8268.567268: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8268.569268: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8268.575561: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.579702: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.585533: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.589691: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8268.595494: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.599670: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8268.605495: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8268.609659: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8268.615463: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8268.617783: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408576 flush-8:0-4272 [001] .... 8268.617795: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408576 dd-4267 [003] .... 8268.617796: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408576 dd-4267 [003] .... 8268.619270: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=410624 dd-4267 [003] .... 8268.622449: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=412672 flush-8:0-4272 [001] .... 8268.622860: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=408576 dd-4267 [003] .... 8268.623989: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=414720 flush-8:0-4272 [001] .... 8268.625976: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=410624 dd-4267 [003] .... 8268.635422: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8268.840617: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=412672 flush-8:0-4272 [001] .... 8268.848404: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=414720 dd-4267 [003] .... 8268.930278: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=419584 dd-4267 [003] .... 8268.930296: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=419584 dd-4267 [003] .... 8268.931994: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=421632 dd-4267 [003] .... 8268.934099: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=423680 dd-4267 [003] .... 8268.935726: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=425728 dd-4267 [003] .... 8268.937352: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=427776 dd-4267 [003] .... 8268.939046: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=429824 dd-4267 [001] .... 8269.039200: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8269.139135: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8269.239185: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8269.408981: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8269.584400: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=431104 dd-4267 [001] .... 8269.584469: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=431104 dd-4267 [001] .... 8269.593152: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=431360 dd-4267 [001] .... 8269.597285: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=431616 dd-4267 [001] .... 8269.597492: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=431616 dd-4267 [001] .... 8269.598967: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=433664 dd-4267 [001] .... 8269.614402: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=434944 dd-4267 [001] .... 8269.614421: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=434944 dd-4267 [001] .... 8269.616055: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=436992 dd-4267 [002] .... 8269.637753: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8269.680296: writeback_congestion_wait: usec_timeout=100000 usec_delayed=29000 dd-4267 [002] .... 8269.817372: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [002] .... 8269.864374: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=437248 flush-8:0-4272 [002] .... 8269.868771: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=437248 dd-4267 [001] .... 8269.871123: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=443392 flush-8:0-4272 [002] .... 8269.871919: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=439296 dd-4267 [001] .... 8269.875734: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=445440 dd-4267 [001] .... 8269.877352: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=447488 flush-8:0-4272 [002] .... 8269.878824: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=441344 dd-4267 [001] .... 8269.881258: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=449536 dd-4267 [002] .... 8269.885307: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8269.889882: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8269.936593: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=443392 flush-8:0-4272 [002] .... 8269.942755: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=445440 flush-8:0-4272 [002] .... 8269.948672: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=447488 flush-8:0-4272 [002] .... 8269.953747: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=449536 flush-8:0-4272 [002] .... 8269.956079: writeback_pages_written: 13056 dd-4267 [001] .... 8270.015147: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=450304 flush-8:0-4272 [002] .... 8270.015168: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=450304 dd-4267 [001] .... 8270.015174: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=450304 flush-8:0-4272 [002] .... 8270.018425: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=450304 flush-8:0-4272 [002] .... 8270.019354: writeback_pages_written: 768 dd-4267 [002] .... 8270.064531: writeback_congestion_wait: usec_timeout=100000 usec_delayed=48000 dd-4267 [002] .... 8270.106521: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=451072 dd-4267 [002] .... 8270.106542: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=451072 dd-4267 [002] .... 8270.109830: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=452352 dd-4267 [002] .... 8270.111279: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=454400 flush-8:0-4272 [002] .... 8270.274267: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455424 flush-8:0-4272 [002] .... 8270.277302: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455424 flush-8:0-4272 [002] .... 8270.277308: writeback_pages_written: 256 dd-4267 [002] .... 8270.281460: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-0:16-4223 [001] .... 8270.300792: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=34352 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8270.300795: writeback_queue_io: bdi 0:16: older=4302911993 age=30000 enqueue=1 reason=periodic flush-0:16-4223 [001] .... 8270.300805: writeback_single_inode: bdi 0:16: ino=4874359 state= dirtied_when=4302911988 age=65 index=0 to_write=1024 wrote=0 flush-0:16-4223 [001] .... 8270.300808: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=34352 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8270.300809: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=34352 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8270.300809: writeback_queue_io: bdi 0:16: older=4302911993 age=30000 enqueue=0 reason=periodic flush-0:16-4223 [001] .... 8270.300809: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=34352 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8270.300814: writeback_pages_written: 0 dd-4267 [002] .... 8270.302002: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8270.316621: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8270.343276: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8270.373944: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8270.394471: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8270.415038: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8270.435568: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8270.472530: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8270.513637: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8270.517612: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455680 dd-4267 [002] .... 8270.517625: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455680 dd-4267 [002] .... 8270.554764: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8270.558840: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455936 dd-4267 [002] .... 8270.558852: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=455936 dd-4267 [002] .... 8270.560339: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=457984 dd-4267 [002] .... 8270.561810: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=460032 dd-4267 [002] .... 8270.564781: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8270.575044: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 flush-8:0-4272 [002] .... 8270.590611: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=461056 flush-8:0-4272 [002] .... 8270.594701: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=461056 flush-8:0-4272 [002] .... 8270.598284: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=463104 flush-8:0-4272 [002] .... 8270.600496: writeback_pages_written: 2304 dd-4267 [002] .... 8270.601943: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [002] .... 8270.633486: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 flush-8:0-4272 [002] .... 8270.657444: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=463360 flush-8:0-4272 [002] .... 8270.660617: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=463360 flush-8:0-4272 [002] .... 8270.660624: writeback_pages_written: 256 dd-4267 [002] .... 8270.673407: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8270.703164: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8270.723126: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8270.743057: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8270.883761: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=463616 dd-4267 [002] .... 8270.883782: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=463616 dd-4267 [002] .... 8270.885303: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=465664 dd-4267 [002] .... 8270.886785: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=467712 dd-4267 [002] .... 8270.888382: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=469760 dd-4267 [002] .... 8270.889945: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=471808 flush-8:0-4272 [001] .... 8271.327896: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=467712 flush-8:0-4272 [001] .... 8271.334733: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=469760 flush-8:0-4272 [001] .... 8271.340404: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=471808 flush-8:0-4272 [001] .... 8271.345681: writeback_pages_written: 10240 dd-4267 [002] .... 8271.421367: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=473856 flush-8:0-4272 [001] .... 8271.421387: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=473856 dd-4267 [002] .... 8271.421390: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=473856 dd-4267 [002] .... 8271.423065: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=475904 dd-4267 [002] .... 8271.425186: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=477952 flush-8:0-4272 [001] .... 8271.425640: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=473856 dd-4267 [002] .... 8271.426874: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=480000 flush-8:0-4272 [001] .... 8271.492067: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=475904 flush-8:0-4272 [001] .... 8271.497902: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=477952 flush-8:0-4272 [001] .... 8271.502398: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=480000 flush-8:0-4272 [001] .... 8271.505244: writeback_pages_written: 7424 dd-4267 [002] .... 8271.678718: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8271.777600: writeback_congestion_wait: usec_timeout=100000 usec_delayed=98000 dd-4267 [001] .... 8271.817785: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8271.827867: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8271.837939: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8271.847990: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8271.858059: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8271.868133: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8271.878146: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8271.888271: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8271.898364: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8271.903945: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8271.908242: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8271.910635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8271.918477: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8271.941108: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8271.945668: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8271.948169: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8271.954621: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8271.958741: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=481280 flush-8:0-4272 [003] .... 8271.958757: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=481280 dd-4267 [001] .... 8271.958758: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=481280 dd-4267 [001] .... 8271.960266: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=483328 dd-4267 [001] .... 8271.961761: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=485376 flush-8:0-4272 [003] .... 8271.962732: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=481280 dd-4267 [001] .... 8271.963264: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=487424 dd-4267 [001] .... 8271.964441: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8271.974773: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8272.009232: writeback_congestion_wait: usec_timeout=100000 usec_delayed=30000 dd-4267 [001] .... 8272.029378: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8272.035038: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8272.039234: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8272.045124: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8272.049333: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8272.051819: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8272.057558: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8272.078026: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8272.082691: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8272.090003: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8272.100194: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8272.110246: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8272.120279: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8272.130351: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8272.136822: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8272.142901: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8272.183805: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=488192 dd-4267 [001] .... 8272.183823: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=488192 dd-4267 [001] .... 8272.195352: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=489216 dd-4267 [001] .... 8272.195373: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=489216 dd-4267 [001] .... 8272.197069: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=491264 dd-4267 [001] .... 8272.198688: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=493312 dd-4267 [001] .... 8272.200844: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=495360 dd-4267 [001] .... 8272.202448: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=497408 dd-4267 [003] .... 8272.302380: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8272.402340: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 ##### CPU 0 buffer started #### dd-4267 [000] .... 8272.587442: writeback_congestion_wait: usec_timeout=100000 usec_delayed=95000 dd-4267 [000] .... 8272.589707: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8272.594405: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8272.603546: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8272.613529: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8272.617066: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=498176 flush-8:0-4272 [002] .... 8272.617081: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=498176 dd-4267 [000] .... 8272.617086: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=498176 dd-4267 [000] .... 8272.619094: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=500224 flush-8:0-4272 [002] .... 8272.620566: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=498176 dd-4267 [000] .... 8272.620634: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=502272 dd-4267 [000] .... 8272.622174: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=504320 flush-8:0-4272 [002] .... 8272.623787: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=500224 flush-8:0-4272 [002] .... 8272.629276: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=502272 flush-8:0-4272 [002] .... 8272.633956: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=504320 flush-8:0-4272 [002] .... 8272.637736: writeback_pages_written: 7936 dd-4267 [003] .... 8272.728244: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8272.816879: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506112 flush-8:0-4272 [002] .... 8272.816896: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506112 dd-4267 [003] .... 8272.816897: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506112 flush-8:0-4272 [002] .... 8272.820965: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506112 flush-8:0-4272 [002] .... 8272.822144: writeback_pages_written: 768 dd-4267 [000] .... 8272.883681: writeback_congestion_wait: usec_timeout=100000 usec_delayed=66000 dd-4267 [000] .... 8272.901202: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [000] .... 8272.911472: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8272.921776: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8272.932042: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8272.942300: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8272.952536: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8272.962856: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8272.972948: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8272.977268: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8272.983253: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8272.989219: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8272.993531: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8272.999473: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.003785: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.009743: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.014080: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8273.020012: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.024305: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.030315: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.033647: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506880 flush-8:0-4272 [002] .... 8273.033663: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506880 dd-4267 [000] .... 8273.033664: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506880 dd-4267 [000] .... 8273.035857: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=508928 flush-8:0-4272 [002] .... 8273.037953: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=506880 flush-8:0-4272 [000] .... 8273.118847: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=508928 flush-8:0-4272 [000] .... 8273.125008: writeback_pages_written: 2816 dd-4267 [001] .... 8273.201257: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=509696 flush-8:0-4272 [000] .... 8273.201275: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=509696 dd-4267 [001] .... 8273.201283: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=509696 dd-4267 [001] .... 8273.202988: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=511744 dd-4267 [001] .... 8273.204095: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8273.204351: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [000] .... 8273.207289: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=509696 flush-8:0-4272 [000] .... 8273.210162: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=511744 dd-4267 [001] .... 8273.214288: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 flush-8:0-4272 [000] .... 8273.214741: writeback_pages_written: 2816 dd-4267 [002] .... 8273.220237: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.224624: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.230590: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.234929: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8273.240847: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.245152: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.252550: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8273.256650: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8273.262386: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.266457: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.272133: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.274530: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8273.276786: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.281514: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8273.303716: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=512512 flush-8:0-4272 [002] .... 8273.303734: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=512512 dd-4267 [000] .... 8273.303742: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=512512 dd-4267 [000] .... 8273.305253: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=514560 dd-4267 [000] .... 8273.306756: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=516608 flush-8:0-4272 [002] .... 8273.308082: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=512512 dd-4267 [000] .... 8273.308310: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=518656 dd-4267 [001] .... 8273.309955: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=520704 flush-8:0-4272 [002] .... 8273.310937: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=514560 flush-8:0-4272 [002] .... 8273.317219: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=516608 flush-8:0-4272 [002] .... 8273.322499: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=518656 flush-8:0-4272 [002] .... 8273.327288: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=520704 flush-8:0-4272 [002] .... 8273.331707: writeback_pages_written: 10240 dd-4267 [003] .... 8273.411759: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8273.467526: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=522752 flush-8:0-4272 [002] .... 8273.467545: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=522752 dd-4267 [003] .... 8273.467547: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=522752 dd-4267 [003] .... 8273.469243: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=524800 dd-4267 [003] .... 8273.470853: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=526848 flush-8:0-4272 [002] .... 8273.471531: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=522752 dd-4267 [003] .... 8273.472458: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8273.476836: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=524800 flush-8:0-4272 [002] .... 8273.482005: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=526848 flush-8:0-4272 [002] .... 8273.484987: writeback_pages_written: 5376 dd-4267 [001] .... 8273.576718: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8273.630560: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=528128 flush-8:0-4272 [002] .... 8273.630579: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=528128 dd-4267 [001] .... 8273.630580: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=528128 dd-4267 [001] .... 8273.632915: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=530176 flush-8:0-4272 [002] .... 8273.634217: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=528128 flush-8:0-4272 [002] .... 8273.637881: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=530176 flush-8:0-4272 [002] .... 8273.641495: writeback_pages_written: 3328 dd-4267 [003] .... 8273.733643: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8273.803010: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.812834: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8273.822636: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8273.832432: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8273.842319: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8273.852182: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8273.861874: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8273.872685: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8273.877222: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8273.881324: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.887043: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8273.891135: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.896818: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.900890: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.906661: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8273.910747: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.916474: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.920550: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.926259: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8273.930361: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.936114: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.940195: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.942458: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=531456 flush-8:0-4272 [002] .... 8273.942469: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=531456 dd-4267 [000] .... 8273.942470: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=531456 dd-4267 [000] .... 8273.943968: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=533504 dd-4267 [000] .... 8273.945828: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8273.946273: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=531456 flush-8:0-4272 [002] .... 8273.949248: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=533504 dd-4267 [000] .... 8273.949900: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .N.. 8273.954420: writeback_pages_written: 3584 dd-4267 [002] .... 8273.955696: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8273.959774: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8273.965545: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8273.969610: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.975340: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.979456: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8273.987689: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8273.992204: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.026101: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8274.031783: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.035939: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.040032: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.045692: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8274.049762: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.055579: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.059648: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8274.065335: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8274.069439: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8274.075170: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.079279: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.086684: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8274.091051: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.097019: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.102975: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.107277: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.111257: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=535040 flush-8:0-4272 [002] .... 8274.111272: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=535040 dd-4267 [000] .... 8274.111280: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=535040 dd-4267 [000] .... 8274.114916: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=537088 flush-8:0-4272 [002] .... 8274.115545: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=535040 flush-8:0-4272 [002] .... 8274.118567: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=537088 dd-4267 [001] .... 8274.120214: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538112 dd-4267 [001] .... 8274.123035: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8274.123531: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538112 flush-8:0-4272 [002] .... 8274.124428: writeback_pages_written: 3840 dd-4267 [001] .... 8274.125289: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.127722: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8274.130996: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8274.133237: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.135492: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8274.175907: writeback_congestion_wait: usec_timeout=100000 usec_delayed=40000 dd-4267 [000] .... 8274.290285: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8274.336268: writeback_congestion_wait: usec_timeout=100000 usec_delayed=46000 dd-4267 [002] .... 8274.340912: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8274.347609: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.357660: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8274.367884: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8274.373602: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.377990: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8274.383934: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8274.386279: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538880 flush-8:0-4272 [002] .... 8274.386291: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538880 dd-4267 [000] .... 8274.386292: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538880 dd-4267 [000] .... 8274.387774: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=540928 flush-8:0-4272 [002] .... 8274.390547: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=538880 dd-4267 [000] .... 8274.391322: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=542976 dd-4267 [000] .... 8274.392891: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=545024 flush-8:0-4272 [000] .... 8274.536676: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=540928 flush-8:0-4272 [000] .... 8274.543142: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=542976 flush-8:0-4272 [000] .... 8274.549982: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=545024 flush-8:0-4272 [000] .... 8274.554681: writeback_pages_written: 7680 dd-4267 [001] .... 8274.657074: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=546560 flush-8:0-4272 [000] .... 8274.657090: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=546560 dd-4267 [001] .... 8274.657093: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=546560 dd-4267 [001] .... 8274.661141: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=548608 flush-8:0-4272 [000] .... 8274.662544: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=546560 dd-4267 [001] .... 8274.662787: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=550656 flush-8:0-4272 [000] .... 8274.666715: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=548608 dd-4267 [001] .... 8274.666972: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=552704 dd-4267 [001] .... 8274.670755: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=554752 dd-4267 [001] .... 8274.673577: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8274.674196: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=550656 dd-4267 [001] .... 8274.677756: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8274.680418: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=552704 flush-8:0-4272 [000] .... 8274.685640: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=554752 flush-8:0-4272 [000] .... 8274.688771: writeback_pages_written: 9216 dd-4267 [003] .... 8274.779091: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8274.843553: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8274.853430: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8274.863405: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8274.870132: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8274.874634: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8274.878968: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.883432: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.887848: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8274.930432: writeback_congestion_wait: usec_timeout=100000 usec_delayed=37000 dd-4267 [000] .... 8274.932637: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8274.943276: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8274.943281: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=555776 flush-8:0-4272 [002] .... 8274.943292: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=555776 flush-8:0-4272 [002] .... 8274.947234: writeback_pages_written: 256 dd-4267 [000] .... 8274.947540: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=556032 flush-8:0-4272 [002] .... 8274.947548: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=556032 dd-4267 [000] .... 8274.947549: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=556032 dd-4267 [000] .... 8274.949050: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=558080 flush-8:0-4272 [002] .... 8274.950731: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=556032 flush-8:0-4272 [002] .... 8274.954025: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=558080 flush-8:0-4272 [002] .... 8274.958120: writeback_pages_written: 3072 dd-4267 [001] .... 8274.962461: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=559104 flush-8:0-4272 [002] .... 8274.962480: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=559104 dd-4267 [001] .... 8274.962481: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=559104 flush-8:0-4272 [002] .... 8274.965051: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=559104 flush-8:0-4272 [002] .... 8274.966440: writeback_pages_written: 1024 dd-4267 [001] .... 8274.971338: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560128 flush-8:0-4272 [002] .... 8274.971354: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560128 dd-4267 [001] .... 8274.971355: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560128 flush-8:0-4272 [002] .... 8274.973875: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560128 flush-8:0-4272 [002] .... 8274.974803: writeback_pages_written: 768 dd-4267 [001] .... 8274.976380: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560896 flush-8:0-4272 [002] .... 8274.976392: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560896 dd-4267 [001] .... 8274.976393: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560896 flush-8:0-4272 [002] .... 8274.980232: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=560896 dd-4267 [001] .... 8274.981786: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=561920 flush-8:0-4272 [002] .... 8274.982195: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=561920 dd-4267 [001] .... 8274.982196: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=562176 flush-8:0-4272 [002] .... 8274.985722: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=562176 flush-8:0-4272 [002] .... 8274.988800: writeback_pages_written: 2816 dd-4267 [003] .... 8275.082867: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8275.128437: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8275.138326: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563712 flush-8:0-4272 [002] .... 8275.138340: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563712 dd-4267 [000] .... 8275.138341: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563712 flush-8:0-4272 [002] .... 8275.141461: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563712 flush-8:0-4272 [002] .... 8275.141469: writeback_pages_written: 256 dd-4267 [002] .... 8275.194016: writeback_congestion_wait: usec_timeout=100000 usec_delayed=55000 dd-4267 [000] .... 8275.198421: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8275.292553: writeback_congestion_wait: usec_timeout=100000 usec_delayed=69000 dd-4267 [000] .... 8275.296650: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563968 flush-8:0-4272 [002] .... 8275.296664: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563968 dd-4267 [000] .... 8275.296665: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563968 dd-4267 [000] .... 8275.297205: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-0:16-4223 [003] .... 8275.297726: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=35970 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8275.297730: writeback_queue_io: bdi 0:16: older=4302916993 age=30000 enqueue=2 reason=periodic flush-0:16-4223 [003] .... 8275.297741: writeback_single_inode: bdi 0:16: ino=1573485 state= dirtied_when=4302912037 age=65 index=0 to_write=1024 wrote=0 flush-0:16-4223 [003] .... 8275.297765: writeback_single_inode: bdi 0:16: ino=1573501 state= dirtied_when=4302915356 age=61 index=24 to_write=1024 wrote=1 flush-0:16-4223 [003] .... 8275.297769: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=35969 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8275.297770: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=35969 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8275.297770: writeback_queue_io: bdi 0:16: older=4302916993 age=30000 enqueue=0 reason=periodic flush-0:16-4223 [003] .... 8275.297771: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=35969 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [003] .... 8275.297777: writeback_pages_written: 1 flush-8:0-4272 [002] .... 8275.300356: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=563968 flush-8:0-4272 [002] .... 8275.300363: writeback_pages_written: 256 dd-4267 [000] .... 8275.301842: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8275.307614: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8275.312153: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8275.319068: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8275.328375: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8275.338401: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8275.342574: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=564224 flush-8:0-4272 [000] .... 8275.342588: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=564224 dd-4267 [002] .... 8275.342589: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=564224 dd-4267 [002] .... 8275.346229: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=566272 flush-8:0-4272 [000] .... 8275.346586: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=564224 dd-4267 [002] .... 8275.347786: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=568320 flush-8:0-4272 [000] .... 8275.349746: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=566272 dd-4267 [002] .... 8275.351519: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=570368 dd-4267 [002] .... 8275.353984: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8275.355780: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=568320 dd-4267 [002] .... 8275.356369: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [000] .... 8275.361337: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=570368 flush-8:0-4272 [000] .... 8275.363817: writeback_pages_written: 6912 dd-4267 [000] .... 8275.455701: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8275.493067: writeback_congestion_wait: usec_timeout=100000 usec_delayed=14000 dd-4267 [002] .... 8275.513157: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8275.523329: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8275.533356: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8275.536894: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571136 flush-8:0-4272 [002] .... 8275.536907: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571136 dd-4267 [000] .... 8275.536915: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571136 flush-8:0-4272 [002] .... 8275.540007: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571136 flush-8:0-4272 [002] .... 8275.540783: writeback_pages_written: 768 dd-4267 [000] .... 8275.549196: writeback_congestion_wait: usec_timeout=100000 usec_delayed=12000 dd-4267 [002] .... 8275.559066: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8275.569257: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8275.574835: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8275.576992: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571904 flush-8:0-4272 [002] .... 8275.577003: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571904 dd-4267 [000] .... 8275.577010: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571904 dd-4267 [000] .... 8275.579035: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8275.580062: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=571904 flush-8:0-4272 [002] .... 8275.580471: writeback_pages_written: 512 dd-4267 [002] .... 8275.584884: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8275.590767: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8275.595004: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8275.600852: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8275.607811: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8275.611310: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572416 flush-8:0-4272 [002] .... 8275.611324: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572416 dd-4267 [000] .... 8275.611327: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572416 dd-4267 [000] .... 8275.612088: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8275.614606: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572416 flush-8:0-4272 [002] .... 8275.614613: writeback_pages_written: 256 dd-4267 [000] .... 8275.616597: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8275.620899: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8275.622607: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572672 flush-8:0-4272 [000] .... 8275.622616: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572672 dd-4267 [002] .... 8275.622617: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572672 flush-8:0-4272 [000] .... 8275.626265: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572672 flush-8:0-4272 [000] .... 8275.626271: writeback_pages_written: 256 dd-4267 [000] .... 8275.632606: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8275.642731: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8275.656678: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572928 flush-8:0-4272 [002] .... 8275.656693: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572928 dd-4267 [000] .... 8275.656694: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572928 dd-4267 [000] .... 8275.658185: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=574976 flush-8:0-4272 [002] .... 8275.660256: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=572928 dd-4267 [002] .... 8275.663561: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 flush-8:0-4272 [000] .... 8275.762227: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=574976 flush-8:0-4272 [000] .... 8275.768192: writeback_pages_written: 3328 dd-4267 [001] .... 8275.813954: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=576256 flush-8:0-4272 [000] .... 8275.813972: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=576256 dd-4267 [001] .... 8275.813973: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=576256 flush-8:0-4272 [000] .... 8275.818853: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=576256 dd-4267 [001] .... 8275.819749: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=577536 flush-8:0-4272 [000] .... 8275.821425: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=577536 dd-4267 [001] .... 8275.821426: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=579328 dd-4267 [001] .... 8275.825312: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [000] .... 8275.829046: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=579328 flush-8:0-4272 [000] .... 8275.830311: writeback_pages_written: 4096 dd-4267 [000] .... 8275.835347: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8275.841226: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8275.845447: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8276.548367: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=580352 flush-8:0-4272 [002] .... 8276.548384: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=580352 dd-4267 [000] .... 8276.548400: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=580352 dd-4267 [000] .... 8276.550364: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=582400 dd-4267 [000] .... 8276.551926: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=584448 dd-4267 [000] .... 8276.553518: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=586496 flush-8:0-4272 [002] .... 8276.554547: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=580352 dd-4267 [000] .... 8276.555127: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=588544 dd-4267 [000] .... 8276.556649: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=590592 flush-8:0-4272 [002] .... 8276.557449: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=582400 dd-4267 [001] .... 8276.560430: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=592640 dd-4267 [001] .... 8276.562084: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=594688 dd-4267 [001] .... 8276.563704: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=596736 dd-4267 [001] .... 8276.565324: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=598784 flush-8:0-4272 [002] .... 8276.565402: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=584448 dd-4267 [001] .... 8276.566863: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=600832 dd-4267 [001] .... 8276.568420: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=602880 flush-8:0-4272 [002] .... 8276.573699: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=586496 flush-8:0-4272 [002] .... 8276.580114: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=588544 flush-8:0-4272 [002] .... 8276.585744: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=590592 flush-8:0-4272 [002] .... 8276.590904: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=592640 flush-8:0-4272 [002] .... 8276.595589: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=594688 flush-8:0-4272 [002] .... 8276.599917: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=596736 flush-8:0-4272 [002] .... 8276.603987: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=598784 dd-4267 [003] .... 8276.668972: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8276.769045: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8276.890790: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=600832 flush-8:0-4272 [002] .... 8276.895314: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=602880 flush-8:0-4272 [002] .... 8276.898568: writeback_pages_written: 24320 dd-4267 [003] .... 8276.908887: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8277.050810: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8277.200263: writeback_congestion_wait: usec_timeout=100000 usec_delayed=88000 dd-4267 [000] .... 8277.258031: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604672 flush-8:0-4272 [002] .... 8277.258049: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604672 dd-4267 [000] .... 8277.258050: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604672 dd-4267 [000] .... 8277.258823: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8277.261572: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604672 flush-8:0-4272 [002] .... 8277.261579: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=35048 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8277.261580: writeback_queue_io: bdi 8:0: older=4302918957 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [002] .... 8277.261580: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=35048 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8277.261582: writeback_pages_written: 256 dd-4267 [000] .... 8277.262937: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.268671: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.272757: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.278481: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.282585: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8277.288315: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.292395: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8277.298115: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.302215: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.307931: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.312008: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.317735: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.324837: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8277.355709: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.364584: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8277.374398: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8277.382588: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8277.392402: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8277.397901: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.402057: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.407739: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.411818: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.417560: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.421658: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.427424: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.431473: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8277.437191: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.441271: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.447015: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.451087: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.456772: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.460844: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.466614: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.470713: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.476407: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.480519: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.486224: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.490324: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.496067: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.500124: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.505806: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.509968: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.515667: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.519729: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.521881: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8277.524031: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.526217: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8277.528385: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.530862: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.533032: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8277.539390: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8277.546494: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8277.550594: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.556326: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.560414: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8277.566132: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.570213: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8277.575939: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.580028: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.585719: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8277.589773: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.595538: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.599643: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8277.605356: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.609463: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.615151: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8277.619253: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8277.624990: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8277.629080: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8277.630998: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604928 flush-8:0-4272 [000] .... 8277.631010: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604928 dd-4267 [002] .... 8277.631011: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604928 dd-4267 [002] .... 8277.632513: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=606976 dd-4267 [002] .... 8277.634731: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8277.636659: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=604928 dd-4267 [002] .... 8277.638506: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=609024 dd-4267 [002] .... 8277.640040: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=611072 dd-4267 [002] .... 8277.641550: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=613120 dd-4267 [002] .... 8277.643094: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=615168 flush-8:0-4272 [000] .... 8277.715839: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=606976 flush-8:0-4272 [000] .... 8277.724516: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=609024 flush-8:0-4272 [000] .... 8277.733064: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=611072 flush-8:0-4272 [000] .... 8277.740840: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=613120 flush-8:0-4272 [000] .... 8277.748062: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=615168 flush-8:0-4272 [000] .... 8277.755291: writeback_pages_written: 12288 dd-4267 [001] .... 8277.802545: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=617216 flush-8:0-4272 [000] .... 8277.802565: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=617216 dd-4267 [001] .... 8277.802566: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=617216 dd-4267 [001] .... 8277.804416: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=619264 dd-4267 [001] .... 8277.806516: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=621312 flush-8:0-4272 [000] .... 8277.808332: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=617216 flush-8:0-4272 [000] .... 8277.813105: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=619264 dd-4267 [001] .... 8277.813218: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=623360 dd-4267 [001] .... 8277.815522: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=625408 flush-8:0-4272 [000] .... 8277.820794: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=621312 dd-4267 [001] .... 8277.821744: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=627456 flush-8:0-4272 [000] .... 8277.826650: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=623360 dd-4267 [001] .... 8277.826949: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [000] .... 8277.832483: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=625408 flush-8:0-4272 [000] .... 8277.837046: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=627456 flush-8:0-4272 [000] .... 8277.840357: writeback_pages_written: 11776 dd-4267 [003] .... 8277.931348: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8278.051459: writeback_congestion_wait: usec_timeout=100000 usec_delayed=55000 dd-4267 [000] .... 8278.116343: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=628992 flush-8:0-4272 [002] .... 8278.116363: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=628992 dd-4267 [000] .... 8278.116364: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=628992 dd-4267 [000] .... 8278.118347: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=631040 dd-4267 [000] .... 8278.119860: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=633088 flush-8:0-4272 [001] .... 8278.120392: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=628992 dd-4267 [000] .... 8278.123157: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8278.123728: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=631040 flush-8:0-4272 [001] .... 8278.130201: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=633088 flush-8:0-4272 [001] .... 8278.133845: writeback_pages_written: 5376 dd-4267 [002] .... 8278.225775: writeback_congestion_wait: usec_timeout=100000 usec_delayed=99000 dd-4267 [002] .... 8278.294088: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634368 flush-8:0-4272 [001] .... 8278.294107: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634368 dd-4267 [002] .... 8278.294109: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634368 flush-8:0-4272 [001] .... 8278.297397: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634368 flush-8:0-4272 [001] .... 8278.297405: writeback_pages_written: 256 dd-4267 [002] .... 8278.303627: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8278.308159: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8278.359684: writeback_congestion_wait: usec_timeout=100000 usec_delayed=51000 dd-4267 [000] .... 8278.362293: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8278.414805: writeback_congestion_wait: usec_timeout=100000 usec_delayed=52000 dd-4267 [000] .... 8278.417186: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8278.419534: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8278.421935: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8278.424848: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8278.523938: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8278.609350: writeback_congestion_wait: usec_timeout=100000 usec_delayed=85000 dd-4267 [002] .... 8278.611904: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8278.614392: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8278.617127: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8278.621765: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8278.629512: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8278.639410: writeback_congestion_wait: usec_timeout=100000 usec_delayed=10000 dd-4267 [003] .... 8278.649387: writeback_congestion_wait: usec_timeout=100000 usec_delayed=10000 dd-4267 [001] .... 8278.655016: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8278.659199: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8278.664970: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8278.744840: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8278.748992: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8278.754791: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8278.758983: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8278.764795: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8278.768952: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8278.774753: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8278.778942: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.784729: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.788914: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.794714: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8278.798872: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.804677: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.808866: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.814669: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8278.818829: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.824640: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.828858: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8278.834601: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8278.838792: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8278.901654: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8278.908163: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634624 flush-8:0-4272 [001] .... 8278.908182: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634624 dd-4267 [000] .... 8278.908650: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634624 dd-4267 [000] .... 8278.911296: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8278.913786: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634624 flush-8:0-4272 [001] .... 8278.913794: writeback_pages_written: 256 dd-4267 [002] .... 8278.921513: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8278.925513: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8278.931324: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8278.935488: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8278.941321: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8278.945468: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8278.951282: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8278.955458: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8278.961249: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8278.964003: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634880 flush-8:0-4272 [001] .... 8278.964020: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634880 dd-4267 [000] .... 8278.964035: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634880 dd-4267 [000] .... 8278.966502: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=636928 dd-4267 [000] .... 8278.968844: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=638976 flush-8:0-4272 [001] .... 8278.969634: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=634880 dd-4267 [000] .... 8278.971204: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=641024 flush-8:0-4272 [001] .... 8278.973125: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=636928 dd-4267 [000] .... 8278.975599: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=643072 dd-4267 [000] .... 8278.977264: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=645120 flush-8:0-4272 [001] .... 8278.982123: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=638976 dd-4267 [000] .... 8278.985235: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=647168 dd-4267 [000] .... 8278.986899: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=649216 dd-4267 [000] .... 8278.988478: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=651264 flush-8:0-4272 [001] .... 8279.107478: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=641024 flush-8:0-4272 [001] .... 8279.115590: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=643072 flush-8:0-4272 [001] .... 8279.122629: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=645120 flush-8:0-4272 [001] .... 8279.128637: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=647168 flush-8:0-4272 [001] .... 8279.134624: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=649216 flush-8:0-4272 [001] .... 8279.139908: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=651264 flush-8:0-4272 [001] .... 8279.143584: writeback_pages_written: 17408 dd-4267 [000] .... 8279.191039: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=652288 flush-8:0-4272 [001] .... 8279.191060: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=652288 dd-4267 [000] .... 8279.191070: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=652288 dd-4267 [000] .... 8279.192824: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=654336 flush-8:0-4272 [001] .... 8279.194897: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=652288 flush-8:0-4272 [001] .... 8279.198344: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=654336 dd-4267 [000] .... 8279.198346: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=655360 dd-4267 [000] .... 8279.199880: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=657408 flush-8:0-4272 [001] .... 8279.202409: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=655360 flush-8:0-4272 [001] .... 8279.205272: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=657408 flush-8:0-4272 [001] .... 8279.209400: writeback_pages_written: 6912 dd-4267 [002] .... 8279.300548: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8279.420643: writeback_congestion_wait: usec_timeout=100000 usec_delayed=59000 dd-4267 [003] .... 8279.473709: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659200 flush-8:0-4272 [001] .... 8279.473725: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659200 dd-4267 [003] .... 8279.473735: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659200 flush-8:0-4272 [001] .... 8279.477129: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659200 flush-8:0-4272 [001] .... 8279.477537: writeback_pages_written: 512 dd-4267 [001] .... 8279.567996: writeback_congestion_wait: usec_timeout=100000 usec_delayed=94000 dd-4267 [001] .... 8279.570412: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8279.575103: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8279.583971: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.594089: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8279.605732: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [001] .... 8279.615825: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.625850: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.635943: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8279.646070: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.656125: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.666165: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.676215: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8279.686308: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.696389: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.706454: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.716539: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.720112: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659712 flush-8:0-4272 [003] .... 8279.720126: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659712 dd-4267 [001] .... 8279.720127: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659712 dd-4267 [001] .... 8279.721617: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=661760 dd-4267 [001] .... 8279.723124: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=663808 flush-8:0-4272 [003] .... 8279.724157: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=659712 dd-4267 [003] .... 8279.728278: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 flush-8:0-4272 [000] .... 8279.728765: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=661760 flush-8:0-4272 [000] .... 8279.736675: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=663808 dd-4267 [001] .... 8279.738442: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 flush-8:0-4272 [000] .... 8279.740568: writeback_pages_written: 5120 dd-4267 [001] .... 8279.748446: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8279.758431: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8279.768498: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.778569: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.788654: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.798693: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8279.808736: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8279.818831: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.828949: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.839007: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.842997: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=664832 flush-8:0-4272 [000] .... 8279.843014: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=664832 dd-4267 [001] .... 8279.843016: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=664832 flush-8:0-4272 [000] .... 8279.847182: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=664832 flush-8:0-4272 [000] .... 8279.847191: writeback_pages_written: 256 dd-4267 [003] .... 8279.849076: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8279.853108: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8279.863346: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [001] .... 8279.874975: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8279.880557: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.884813: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.890544: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.894781: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8279.900525: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.904786: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.910495: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.914742: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8279.920501: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.924716: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.930462: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.934704: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8279.940466: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.944675: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.950443: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.954671: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8279.960415: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.964640: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.970407: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.974635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8279.980386: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.984609: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8279.990382: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8279.992689: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=665088 flush-8:0-4272 [000] .... 8279.992705: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=665088 dd-4267 [001] .... 8279.992706: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=665088 dd-4267 [001] .... 8279.996636: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=667136 flush-8:0-4272 [000] .... 8279.998271: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=665088 dd-4267 [001] .... 8279.998348: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=669184 dd-4267 [001] .... 8279.999931: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=671232 flush-8:0-4272 [000] .... 8280.002961: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=667136 dd-4267 [001] .... 8280.004506: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [000] .... 8280.010048: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=669184 dd-4267 [001] .... 8280.010313: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8280.012905: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=673280 flush-8:0-4272 [000] .... 8280.016172: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=671232 dd-4267 [001] .... 8280.017137: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=675328 dd-4267 [001] .... 8280.018724: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8280.020975: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8280.023205: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8280.025762: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8280.166717: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=673280 flush-8:0-4272 [002] .... 8280.172594: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=675328 flush-8:0-4272 [002] .... 8280.176266: writeback_pages_written: 11520 dd-4267 [003] .... 8280.266612: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=676608 flush-8:0-4272 [002] .... 8280.266632: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=676608 dd-4267 [003] .... 8280.266635: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=676608 dd-4267 [003] .... 8280.268438: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=678656 flush-8:0-4272 [002] .... 8280.270275: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=676608 dd-4267 [003] .... 8280.272860: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=680704 flush-8:0-4272 [002] .... 8280.273667: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=678656 dd-4267 [003] .... 8280.277004: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=682752 flush-8:0-4272 [002] .... 8280.279511: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=680704 flush-8:0-4272 [002] .... 8280.284580: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=682752 flush-8:0-4272 [002] .... 8280.286725: writeback_pages_written: 6912 flush-0:16-4223 [001] .... 8280.294981: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=29073 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8280.294985: writeback_queue_io: bdi 0:16: older=4302921993 age=30000 enqueue=3 reason=periodic flush-0:16-4223 [001] .... 8280.294994: writeback_single_inode: bdi 0:16: ino=3080195 state= dirtied_when=4302920855 age=56 index=0 to_write=1024 wrote=0 flush-0:16-4223 [001] .... 8280.295020: writeback_single_inode: bdi 0:16: ino=1573416 state= dirtied_when=4302921098 age=56 index=0 to_write=1024 wrote=1 flush-0:16-4223 [001] .... 8280.295032: writeback_single_inode: bdi 0:16: ino=1573486 state= dirtied_when=4302921098 age=56 index=52481 to_write=1024 wrote=1 flush-0:16-4223 [001] .... 8280.295035: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=29071 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8280.295036: writeback_start: bdi 0:16: sb_dev 0:0 nr_pages=29071 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8280.295037: writeback_queue_io: bdi 0:16: older=4302921993 age=30000 enqueue=0 reason=periodic flush-0:16-4223 [001] .... 8280.295037: writeback_written: bdi 0:16: sb_dev 0:0 nr_pages=29071 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-0:16-4223 [001] .... 8280.295042: writeback_pages_written: 2 dd-4267 [001] .... 8280.297036: writeback_congestion_wait: usec_timeout=100000 usec_delayed=20000 dd-4267 [003] .... 8280.408987: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8280.467718: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.477905: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8280.488203: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8280.492193: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683520 flush-8:0-4272 [002] .... 8280.492204: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683520 dd-4267 [000] .... 8280.492205: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683520 dd-4267 [000] .... 8280.494904: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [002] .... 8280.495455: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683520 flush-8:0-4272 [002] .... 8280.495461: writeback_pages_written: 256 dd-4267 [002] .... 8280.499328: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.503823: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.508200: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.516395: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683776 flush-8:0-4272 [002] .... 8280.516410: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683776 dd-4267 [000] .... 8280.516410: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683776 dd-4267 [000] .... 8280.516691: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8280.516877: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8280.520252: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=683776 flush-8:0-4272 [002] .... 8280.520259: writeback_pages_written: 256 dd-4267 [000] .... 8280.521328: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.525593: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.613120: writeback_congestion_wait: usec_timeout=100000 usec_delayed=84000 dd-4267 [000] .... 8280.621118: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.628140: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8280.636293: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8280.640774: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.645305: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8280.649723: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8280.657246: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8280.661750: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.670022: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=684032 flush-8:0-4272 [002] .... 8280.670036: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=684032 dd-4267 [000] .... 8280.670040: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=684032 dd-4267 [000] .... 8280.671552: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=686080 dd-4267 [000] .... 8280.673073: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=688128 flush-8:0-4272 [002] .... 8280.674106: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=684032 flush-8:0-4272 [001] .... 8280.677134: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=686080 dd-4267 [000] .... 8280.680892: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690176 flush-8:0-4272 [001] .... 8280.685604: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=688128 dd-4267 [000] .... 8280.686261: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 flush-8:0-4272 [001] .... 8280.691619: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690176 flush-8:0-4272 [001] .... 8280.693880: writeback_pages_written: 6400 dd-4267 [000] .... 8280.699811: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8280.725768: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8280.735583: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8280.745458: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8280.749433: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690432 flush-8:0-4272 [001] .... 8280.749453: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690432 dd-4267 [000] .... 8280.749455: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690432 flush-8:0-4272 [001] .... 8280.753038: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690432 flush-8:0-4272 [001] .... 8280.753044: writeback_pages_written: 256 dd-4267 [000] .... 8280.755184: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8280.763233: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8280.767808: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.772434: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.776929: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.781392: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8280.785741: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.790431: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8280.805974: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690688 flush-8:0-4272 [001] .... 8280.805990: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690688 dd-4267 [000] .... 8280.805995: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690688 flush-8:0-4272 [001] .... 8280.810334: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690688 flush-8:0-4272 [001] .... 8280.810343: writeback_pages_written: 256 dd-4267 [002] .... 8280.835906: writeback_congestion_wait: usec_timeout=100000 usec_delayed=30000 dd-4267 [002] .... 8280.942587: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8280.999893: writeback_congestion_wait: usec_timeout=100000 usec_delayed=57000 dd-4267 [000] .... 8281.002359: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8281.004620: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8281.007144: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8281.011505: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8281.015104: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690944 flush-8:0-4272 [001] .... 8281.015120: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690944 dd-4267 [000] .... 8281.015121: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690944 dd-4267 [000] .... 8281.018879: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8281.019801: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=690944 flush-8:0-4272 [001] .... 8281.021129: writeback_pages_written: 768 dd-4267 [000] .... 8281.023390: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=691712 flush-8:0-4272 [001] .... 8281.023405: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=691712 dd-4267 [000] .... 8281.023406: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=691712 dd-4267 [000] .... 8281.025078: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=693760 dd-4267 [000] .... 8281.026726: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=695808 flush-8:0-4272 [001] .... 8281.027870: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=691712 dd-4267 [000] .... 8281.028680: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [001] .... 8281.032562: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=693760 dd-4267 [000] .... 8281.034082: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=697856 dd-4267 [002] .... 8281.038551: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [001] .... 8281.039182: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=695808 dd-4267 [002] .... 8281.043151: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=699904 flush-8:0-4272 [001] .... 8281.045416: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=697856 flush-8:0-4272 [001] .... 8281.050590: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=699904 flush-8:0-4272 [001] .... 8281.054085: writeback_pages_written: 9472 dd-4267 [000] .... 8281.146586: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8281.267657: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=701184 flush-8:0-4272 [001] .... 8281.267676: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=701184 dd-4267 [000] .... 8281.267682: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=701184 dd-4267 [000] .... 8281.269420: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=703232 flush-8:0-4272 [001] .... 8281.273221: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=701184 dd-4267 [000] .... 8281.275742: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=705280 flush-8:0-4272 [001] .... 8281.276549: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=703232 dd-4267 [000] .... 8281.277912: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=707328 dd-4267 [003] .... 8281.280371: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [001] .... 8281.318655: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=705280 flush-8:0-4272 [001] .... 8281.324616: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=707328 flush-8:0-4272 [001] .... 8281.328030: writeback_pages_written: 6912 dd-4267 [002] .... 8281.450334: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8281.461260: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8281.483632: writeback_congestion_wait: usec_timeout=100000 usec_delayed=20000 dd-4267 [003] .... 8281.486146: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8281.488493: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8281.491058: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8281.495253: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8281.503364: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8281.513429: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8281.522995: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8281.532819: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8281.542599: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8281.546558: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708096 flush-8:0-4272 [001] .... 8281.546572: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708096 dd-4267 [003] .... 8281.546572: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708096 dd-4267 [001] .... 8281.556507: writeback_congestion_wait: usec_timeout=100000 usec_delayed=10000 flush-8:0-4272 [003] .... 8282.192050: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708096 flush-8:0-4272 [003] .... 8282.192057: writeback_pages_written: 256 dd-4267 [003] .... 8282.363940: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708352 flush-8:0-4272 [001] .... 8282.363957: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708352 dd-4267 [003] .... 8282.363965: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708352 dd-4267 [003] .... 8282.365488: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=710400 dd-4267 [003] .... 8282.366985: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=712448 dd-4267 [003] .... 8282.368510: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=714496 flush-8:0-4272 [001] .... 8282.369497: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=708352 dd-4267 [003] .... 8282.370048: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=716544 dd-4267 [003] .... 8282.371633: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=718592 flush-8:0-4272 [000] .... 8282.374078: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=710400 dd-4267 [003] .... 8282.378185: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=720640 flush-8:0-4272 [000] .... 8282.385965: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=712448 dd-4267 [003] .... 8282.389259: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=722688 dd-4267 [003] .... 8282.390925: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=724736 flush-8:0-4272 [000] .... 8282.394370: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=714496 flush-8:0-4272 [000] .... 8282.403366: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=716544 flush-8:0-4272 [000] .... 8282.411168: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=718592 flush-8:0-4272 [000] .... 8282.418447: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=720640 dd-4267 [003] .... 8282.419012: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=726784 dd-4267 [003] .... 8282.420711: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=728832 flush-8:0-4272 [000] .... 8282.425497: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=722688 flush-8:0-4272 [000] .... 8282.432174: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=724736 dd-4267 [003] .... 8282.435607: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=730880 flush-8:0-4272 [000] .... 8282.437550: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=726784 flush-8:0-4272 [000] .... 8282.443269: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=728832 flush-8:0-4272 [000] .... 8282.447516: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=730880 dd-4267 [001] .... 8282.536821: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8282.594711: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=28847 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8282.594714: writeback_queue_io: bdi 8:0: older=4302924294 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [002] .... 8282.594714: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=28847 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8282.594717: writeback_pages_written: 24320 dd-4267 [003] .... 8282.702707: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8282.766257: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732672 flush-8:0-4272 [002] .... 8282.766275: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732672 dd-4267 [003] .... 8282.766276: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732672 dd-4267 [000] .... 8282.769626: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [002] .... 8282.770439: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732672 flush-8:0-4272 [002] .... 8282.770448: writeback_pages_written: 256 dd-4267 [000] .... 8282.792970: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732928 flush-8:0-4272 [002] .... 8282.792985: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732928 dd-4267 [000] .... 8282.792991: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732928 flush-8:0-4272 [002] .... 8282.796612: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=732928 flush-8:0-4272 [002] .... 8282.797095: writeback_pages_written: 512 dd-4267 [001] .... 8282.803815: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733440 flush-8:0-4272 [002] .... 8282.803828: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733440 dd-4267 [000] .... 8282.805987: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8282.807590: writeback_pages_written: 256 dd-4267 [002] .... 8282.816053: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.826012: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8282.836053: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8282.840123: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8282.862607: writeback_congestion_wait: usec_timeout=100000 usec_delayed=21000 dd-4267 [000] .... 8282.866842: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.872692: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.876853: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8282.882737: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.887007: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8282.892840: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.897051: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8282.902856: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.907142: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8282.912979: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.917185: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8282.923050: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.927261: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8282.933120: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8282.937351: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8282.943169: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.947400: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8282.953258: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.957497: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8282.963315: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8282.965832: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8282.967943: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8282.976215: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733696 flush-8:0-4272 [002] .... 8282.976230: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733696 dd-4267 [000] .... 8282.976230: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733696 dd-4267 [000] .... 8282.977340: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8282.980514: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=733696 dd-4267 [000] .... 8282.981192: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734464 flush-8:0-4272 [002] .... 8282.981312: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734464 dd-4267 [000] .... 8282.981745: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8282.981778: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734464 flush-8:0-4272 [002] .... 8282.985084: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734464 flush-8:0-4272 [002] .... 8282.985091: writeback_pages_written: 1024 dd-4267 [000] .... 8282.985665: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734720 flush-8:0-4272 [002] .... 8282.985674: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734720 dd-4267 [000] .... 8282.985675: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734720 flush-8:0-4272 [002] .... 8282.989807: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=734720 flush-8:0-4272 [002] .... 8282.990230: writeback_pages_written: 512 dd-4267 [003] .... 8283.089416: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8283.122929: writeback_congestion_wait: usec_timeout=100000 usec_delayed=33000 dd-4267 [000] .... 8283.135611: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.145666: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8283.155723: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8283.165791: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8283.176075: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8283.181528: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.185688: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.187835: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735232 flush-8:0-4272 [002] .... 8283.187848: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735232 dd-4267 [000] .... 8283.187849: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735232 dd-4267 [000] .... 8283.191527: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [002] .... 8283.192426: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735232 flush-8:0-4272 [002] .... 8283.192847: writeback_pages_written: 512 dd-4267 [000] .... 8283.195835: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.201634: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.205915: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8283.211685: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.215994: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.221809: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.226052: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8283.231889: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.236089: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.241969: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.246186: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8283.252004: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.256226: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.262106: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.266341: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8283.273554: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8283.277824: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.283655: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.287868: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8283.293646: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8283.297947: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.303809: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8283.312730: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8283.328557: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735744 flush-8:0-4272 [002] .... 8283.328574: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735744 dd-4267 [000] .... 8283.328582: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735744 dd-4267 [000] .... 8283.330129: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=737792 dd-4267 [000] .... 8283.331848: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=739840 dd-4267 [000] .... 8283.333393: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=741888 flush-8:0-4272 [002] .... 8283.333676: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=735744 dd-4267 [000] .... 8283.334935: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=743936 dd-4267 [000] .... 8283.337887: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.338115: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8283.431725: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=737792 flush-8:0-4272 [002] .... 8283.439317: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=739840 flush-8:0-4272 [002] .... 8283.447089: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=741888 flush-8:0-4272 [002] .... 8283.454001: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=743936 flush-8:0-4272 [002] .... 8283.459772: writeback_pages_written: 9984 dd-4267 [001] .... 8283.537146: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=745728 flush-8:0-4272 [002] .... 8283.537162: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=745728 dd-4267 [001] .... 8283.537171: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=745728 dd-4267 [001] .... 8283.539419: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=747776 dd-4267 [001] .... 8283.541208: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=749824 flush-8:0-4272 [002] .... 8283.541833: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=745728 flush-8:0-4272 [002] .... 8283.545118: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=747776 dd-4267 [001] .... 8283.545748: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=751872 dd-4267 [001] .... 8283.547488: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=753920 flush-8:0-4272 [002] .... 8283.552959: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=749824 dd-4267 [001] .... 8283.558579: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=755968 flush-8:0-4272 [002] .... 8283.559396: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=751872 dd-4267 [001] .... 8283.561724: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8283.565992: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=753920 flush-8:0-4272 [002] .... 8283.570817: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=755968 flush-8:0-4272 [002] .... 8283.574693: writeback_pages_written: 12032 dd-4267 [003] .... 8283.668117: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8283.743847: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8283.747107: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=757760 flush-8:0-4272 [002] .... 8283.747123: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=757760 dd-4267 [000] .... 8283.747124: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=757760 flush-8:0-4272 [002] .... 8283.751308: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=757760 dd-4267 [000] .... 8283.751309: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=759296 dd-4267 [000] .... 8283.752829: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=761344 flush-8:0-4272 [002] .... 8283.753579: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=759296 dd-4267 [001] .... 8283.756564: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=763392 flush-8:0-4272 [002] .... 8283.756906: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=761344 flush-8:0-4272 [002] .... 8283.762110: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=763392 flush-8:0-4272 [002] .... 8283.764271: writeback_pages_written: 6400 dd-4267 [003] .... 8283.857011: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8283.973375: writeback_congestion_wait: usec_timeout=100000 usec_delayed=55000 dd-4267 [002] .... 8284.011625: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764160 flush-8:0-4272 [000] .... 8284.011640: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764160 dd-4267 [002] .... 8284.011645: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764160 dd-4267 [002] .... 8284.013208: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8284.015143: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764160 flush-8:0-4272 [000] .... 8284.015149: writeback_pages_written: 256 dd-4267 [000] .... 8284.019069: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8284.023215: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8284.030639: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8284.034941: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.040920: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8284.051372: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8284.061660: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8284.071910: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8284.082199: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8284.092449: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8284.102756: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8284.106747: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764416 flush-8:0-4272 [002] .... 8284.106761: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764416 dd-4267 [000] .... 8284.106772: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764416 flush-8:0-4272 [002] .... 8284.110412: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764416 flush-8:0-4272 [002] .... 8284.110420: writeback_pages_written: 256 dd-4267 [002] .... 8284.113017: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8284.117024: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764672 flush-8:0-4272 [000] .... 8284.117035: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764672 dd-4267 [002] .... 8284.117041: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764672 flush-8:0-4272 [000] .... 8284.120264: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764672 flush-8:0-4272 [000] .... 8284.120271: writeback_pages_written: 256 dd-4267 [000] .... 8284.123300: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8284.133583: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8284.145288: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [002] .... 8284.149617: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8284.153959: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.159928: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8284.164244: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8284.170143: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8284.174494: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8284.180462: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8284.184792: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8284.190718: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.195060: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.201037: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8284.205349: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8284.211282: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.215607: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8284.217861: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764928 flush-8:0-4272 [002] .... 8284.217873: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764928 dd-4267 [000] .... 8284.217883: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764928 dd-4267 [000] .... 8284.219412: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=766976 flush-8:0-4272 [002] .... 8284.222662: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=764928 dd-4267 [000] .... 8284.224852: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=769024 flush-8:0-4272 [001] .... 8284.226978: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=766976 dd-4267 [000] .... 8284.231789: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8284.234737: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=769024 dd-4267 [000] .... 8284.236127: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8284.242083: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [001] .... 8284.537975: writeback_pages_written: 5376 dd-4267 [002] .... 8284.712091: writeback_congestion_wait: usec_timeout=100000 usec_delayed=97000 dd-4267 [002] .... 8284.714592: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8284.718902: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8284.721113: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8284.723558: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8284.729274: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8284.730891: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=770304 flush-8:0-4272 [001] .... 8284.730909: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=770304 dd-4267 [000] .... 8284.731346: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=770304 dd-4267 [000] .... 8284.733058: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=772352 flush-8:0-4272 [001] .... 8284.735492: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=770304 dd-4267 [000] .... 8284.736899: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=774400 dd-4267 [000] .... 8284.738556: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=776448 flush-8:0-4272 [001] .... 8284.738766: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=772352 dd-4267 [000] .... 8284.743348: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [001] .... 8284.745968: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=774400 dd-4267 [000] .... 8284.749665: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=778496 flush-8:0-4272 [001] .... 8284.751572: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=776448 dd-4267 [000] .... 8284.753153: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8284.757398: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=778496 dd-4267 [000] .... 8284.757400: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=779008 flush-8:0-4272 [001] .... 8284.760124: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=779008 flush-8:0-4272 [001] .... 8284.761353: writeback_pages_written: 9728 dd-4267 [002] .... 8284.857465: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8284.912787: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=780032 flush-8:0-4272 [001] .... 8284.912808: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=780032 dd-4267 [002] .... 8284.912815: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=780032 flush-8:0-4272 [001] .... 8284.916025: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=780032 flush-8:0-4272 [001] .... 8284.918844: writeback_pages_written: 2048 dd-4267 [003] .... 8284.940686: writeback_congestion_wait: usec_timeout=100000 usec_delayed=26000 dd-4267 [003] .... 8284.978581: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782080 flush-8:0-4272 [001] .... 8284.978599: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782080 dd-4267 [003] .... 8284.978602: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782080 flush-8:0-4272 [001] .... 8284.982521: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782080 flush-8:0-4272 [001] .... 8284.982946: writeback_pages_written: 512 dd-4267 [003] .... 8284.983056: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782592 flush-8:0-4272 [001] .... 8284.983063: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782592 dd-4267 [003] .... 8284.983064: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782592 dd-4267 [003] .... 8284.984577: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=784640 flush-8:0-4272 [001] .... 8284.985859: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=782592 flush-8:0-4272 [000] .... 8284.989292: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=784640 dd-4267 [003] .... 8284.990536: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=785664 dd-4267 [003] .... 8284.992120: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=787712 flush-8:0-4272 [000] .... 8284.994372: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=785664 flush-8:0-4272 [000] .... 8284.997795: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=787712 flush-8:0-4272 [000] .... 8285.000496: writeback_pages_written: 5888 dd-4267 [001] .... 8285.092449: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8285.177444: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788480 flush-8:0-4272 [000] .... 8285.177462: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788480 dd-4267 [001] .... 8285.177462: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788480 dd-4267 [001] .... 8285.179141: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [000] .... 8285.181333: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788480 flush-8:0-4272 [000] .... 8285.181342: writeback_pages_written: 256 dd-4267 [001] .... 8285.183347: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788736 flush-8:0-4272 [000] .... 8285.183364: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788736 dd-4267 [001] .... 8285.183373: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788736 flush-8:0-4272 [000] .... 8285.185778: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788736 flush-8:0-4272 [000] .... 8285.185784: writeback_pages_written: 256 dd-4267 [001] .... 8285.188015: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8285.197816: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8285.207603: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8285.217253: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8285.219617: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8285.224224: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8285.260785: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788992 flush-8:0-4272 [000] .... 8285.260803: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788992 dd-4267 [003] .... 8285.260804: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788992 dd-4267 [003] .... 8285.262513: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=791040 flush-8:0-4272 [000] .... 8285.265222: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=788992 flush-8:0-4272 [000] .... 8285.269537: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=791040 dd-4267 [001] .... 8285.270972: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 flush-8:0-4272 [000] .... 8285.275330: writeback_pages_written: 3840 dd-4267 [003] .... 8285.324595: writeback_congestion_wait: usec_timeout=100000 usec_delayed=46000 dd-4267 [001] .... 8285.428150: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8285.428951: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8285.433539: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8285.440157: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8285.449269: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8285.455291: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=792832 flush-8:0-4272 [000] .... 8285.455308: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=792832 dd-4267 [001] .... 8285.455310: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=792832 dd-4267 [001] .... 8285.457006: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=794880 dd-4267 [001] .... 8285.458912: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [000] .... 8285.459455: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=792832 flush-8:0-4272 [000] .... 8285.462753: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=794880 dd-4267 [003] .... 8285.462940: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [000] .... 8285.465164: writeback_pages_written: 2304 dd-4267 [003] .... 8285.465311: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795136 flush-8:0-4272 [000] .... 8285.465328: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795136 dd-4267 [003] .... 8285.465330: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795136 flush-8:0-4272 [000] .... 8285.467314: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795136 flush-8:0-4272 [000] .... 8285.467319: writeback_pages_written: 256 dd-4267 [001] .... 8285.478696: writeback_congestion_wait: usec_timeout=100000 usec_delayed=13000 dd-4267 [002] .... 8285.511501: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8285.519624: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8285.529305: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8285.529483: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8285.541032: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [000] .... 8285.577136: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795392 flush-8:0-4272 [002] .... 8285.577156: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795392 dd-4267 [000] .... 8285.577638: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795392 flush-8:0-4272 [002] .... 8285.581251: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795392 flush-8:0-4272 [002] .... 8285.581647: writeback_pages_written: 512 dd-4267 [002] .... 8285.676988: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8285.698727: writeback_congestion_wait: usec_timeout=100000 usec_delayed=21000 dd-4267 [000] .... 8285.701218: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8285.710431: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8285.718230: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8285.722253: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795904 flush-8:0-4272 [002] .... 8285.722266: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795904 dd-4267 [000] .... 8285.722267: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795904 dd-4267 [000] .... 8285.723781: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=797952 dd-4267 [000] .... 8285.725289: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=800000 flush-8:0-4272 [002] .... 8285.726260: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=795904 dd-4267 [000] .... 8285.728248: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [002] .... 8285.729667: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=797952 flush-8:0-4272 [002] .... 8285.735947: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=800000 flush-8:0-4272 [002] .... 8285.740515: writeback_pages_written: 5632 dd-4267 [000] .... 8285.743317: writeback_congestion_wait: usec_timeout=100000 usec_delayed=11000 dd-4267 [000] .... 8285.748737: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=801536 flush-8:0-4272 [002] .... 8285.748749: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=801536 dd-4267 [000] .... 8285.748750: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=801536 dd-4267 [000] .... 8285.750301: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=803584 flush-8:0-4272 [002] .... 8285.751451: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=801536 dd-4267 [000] .... 8285.789981: writeback_congestion_wait: usec_timeout=100000 usec_delayed=39000 flush-8:0-4272 [000] .... 8285.820051: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=803584 flush-8:0-4272 [000] .... 8285.824204: writeback_pages_written: 3072 dd-4267 [002] .... 8285.877041: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=804608 flush-8:0-4272 [000] .... 8285.877059: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=804608 dd-4267 [002] .... 8285.877059: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=804608 flush-8:0-4272 [000] .... 8285.880219: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=804608 dd-4267 [002] .... 8285.881976: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [000] .... 8285.883304: writeback_pages_written: 2048 dd-4267 [000] .... 8285.913064: writeback_congestion_wait: usec_timeout=100000 usec_delayed=27000 dd-4267 [000] .... 8285.953294: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8285.993092: writeback_congestion_wait: usec_timeout=100000 usec_delayed=40000 dd-4267 [000] .... 8286.017921: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806656 flush-8:0-4272 [002] .... 8286.017941: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806656 dd-4267 [000] .... 8286.017942: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806656 flush-8:0-4272 [002] .... 8286.022344: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806656 flush-8:0-4272 [002] .... 8286.022351: writeback_pages_written: 256 dd-4267 [000] .... 8286.022457: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806912 flush-8:0-4272 [002] .... 8286.022463: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806912 dd-4267 [000] .... 8286.022464: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806912 flush-8:0-4272 [002] .... 8286.025804: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=806912 dd-4267 [001] .... 8286.025808: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=807680 flush-8:0-4272 [002] .... 8286.027152: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=807680 dd-4267 [001] .... 8286.027154: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=809216 flush-8:0-4272 [002] .... 8286.030162: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=809216 dd-4267 [001] .... 8286.030934: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=810752 flush-8:0-4272 [002] .... 8286.032432: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=810752 dd-4267 [001] .... 8286.032436: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=812288 flush-8:0-4272 [002] .... 8286.037770: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=812288 flush-8:0-4272 [002] .... 8286.038525: writeback_pages_written: 6144 dd-4267 [003] .... 8286.131784: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8286.193153: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813056 flush-8:0-4272 [002] .... 8286.193171: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813056 dd-4267 [003] .... 8286.193182: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813056 dd-4267 [000] .... 8286.194538: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8286.197515: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813056 flush-8:0-4272 [002] .... 8286.198149: writeback_pages_written: 512 dd-4267 [000] .... 8286.204432: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8286.208413: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8286.214233: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8286.218379: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.224189: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8286.228384: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8286.234169: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.238355: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8286.244159: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8286.248349: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8286.254131: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8286.258310: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8286.268537: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8286.278455: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8286.288438: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8286.298422: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8286.308378: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8286.311951: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813568 flush-8:0-4272 [000] .... 8286.311964: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813568 dd-4267 [002] .... 8286.311974: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813568 dd-4267 [002] .... 8286.313470: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=815616 flush-8:0-4272 [000] .... 8286.316042: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=813568 dd-4267 [002] .... 8286.318069: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [000] .... 8286.319085: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=815616 dd-4267 [001] .... 8286.323896: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [000] .... 8286.324156: writeback_pages_written: 3584 dd-4267 [002] .... 8286.328179: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8286.333974: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8286.338144: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.343939: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8286.348136: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.353914: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8286.358096: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.363902: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8286.368092: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.375470: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8286.379691: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8286.390024: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8286.394213: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=817152 flush-8:0-4272 [002] .... 8286.394227: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=817152 dd-4267 [000] .... 8286.394228: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=817152 dd-4267 [000] .... 8286.395740: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=819200 flush-8:0-4272 [002] .... 8286.397700: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=817152 dd-4267 [000] .... 8286.399729: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8286.399908: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8286.400793: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=819200 dd-4267 [000] .... 8286.403696: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821248 flush-8:0-4272 [002] .... 8286.406096: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821248 flush-8:0-4272 [002] .... 8286.408455: writeback_pages_written: 4608 dd-4267 [000] .... 8286.490429: writeback_congestion_wait: usec_timeout=100000 usec_delayed=86000 dd-4267 [000] .... 8287.253038: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821760 flush-8:0-4272 [002] .... 8287.253056: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821760 dd-4267 [000] .... 8287.253111: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821760 dd-4267 [000] .... 8287.256585: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=823808 dd-4267 [000] .... 8287.258183: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=825856 flush-8:0-4272 [002] .... 8287.259493: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=821760 dd-4267 [001] .... 8287.259950: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=827904 dd-4267 [001] .... 8287.261742: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=829952 flush-8:0-4272 [002] .... 8287.262677: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=823808 dd-4267 [001] .... 8287.264192: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=832000 dd-4267 [001] .... 8287.265825: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=834048 dd-4267 [001] .... 8287.267436: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=836096 dd-4267 [001] .... 8287.269029: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=838144 dd-4267 [001] .... 8287.270652: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=840192 flush-8:0-4272 [002] .... 8287.271798: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=825856 dd-4267 [001] .... 8287.272253: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=842240 dd-4267 [001] .... 8287.273814: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=844288 flush-8:0-4272 [002] .... 8287.280257: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=827904 flush-8:0-4272 [002] .... 8287.286640: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=829952 flush-8:0-4272 [002] .... 8287.292224: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=832000 flush-8:0-4272 [002] .... 8287.297298: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=834048 dd-4267 [003] .... 8287.375066: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [000] .... 8287.433845: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=836096 flush-8:0-4272 [000] .... 8287.439490: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=838144 flush-8:0-4272 [000] .... 8287.444495: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=840192 flush-8:0-4272 [000] .... 8287.449427: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=842240 dd-4267 [001] .... 8287.568053: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8287.589239: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=844288 flush-8:0-4272 [002] .... 8287.594059: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=25531 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8287.594061: writeback_queue_io: bdi 8:0: older=4302929296 age=30000 enqueue=1 reason=periodic flush-8:0-4272 [002] .... 8287.594217: writeback_single_inode: bdi 8:0: ino=0 state= dirtied_when=4302926220 age=51 index=62423040 to_write=1024 wrote=60 flush-8:0-4272 [002] .... 8287.594220: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=25471 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8287.594220: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=25471 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8287.594220: writeback_queue_io: bdi 8:0: older=4302929296 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [002] .... 8287.594221: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=25471 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [002] .... 8287.594223: writeback_pages_written: 24636 dd-4267 [003] .... 8287.725915: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8287.867240: writeback_congestion_wait: usec_timeout=100000 usec_delayed=68000 dd-4267 [000] .... 8287.929273: writeback_congestion_wait: usec_timeout=100000 usec_delayed=29000 dd-4267 [000] .... 8287.933932: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8287.943436: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8287.953437: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8287.963311: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8287.968957: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8287.971328: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8287.975932: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8287.996004: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8288.000541: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8288.007408: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8288.017420: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8288.024017: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8288.029668: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8288.034148: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8288.038464: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8288.042966: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8288.145630: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8288.198092: writeback_congestion_wait: usec_timeout=100000 usec_delayed=52000 dd-4267 [000] .... 8288.214718: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8288.224982: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8288.235294: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8288.245537: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8288.255814: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8288.262402: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8288.270398: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8288.281573: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8288.285848: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8288.293826: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8288.298364: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8288.306692: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8288.316956: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8288.327285: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8288.337529: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8288.343307: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8288.350208: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8288.360343: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8288.364844: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8288.368427: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=846336 flush-8:0-4272 [002] .... 8288.368440: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=846336 dd-4267 [000] .... 8288.368442: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=846336 dd-4267 [000] .... 8288.374199: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=848384 flush-8:0-4272 [002] .... 8288.374913: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=846336 dd-4267 [001] .... 8288.376663: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=850432 flush-8:0-4272 [002] .... 8288.377993: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=848384 dd-4267 [001] .... 8288.378387: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=852480 dd-4267 [001] .... 8288.380037: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=854528 dd-4267 [001] .... 8288.381692: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=856576 flush-8:0-4272 [002] .... 8288.387743: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=850432 dd-4267 [001] .... 8288.390190: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=858624 flush-8:0-4272 [002] .... 8288.395961: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=852480 flush-8:0-4272 [002] .... 8288.403948: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=854528 dd-4267 [001] .... 8288.404992: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=860672 dd-4267 [001] .... 8288.406709: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=862720 dd-4267 [001] .... 8288.408423: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=864768 dd-4267 [001] .... 8288.410722: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=866816 flush-8:0-4272 [002] .... 8288.410728: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=856576 dd-4267 [001] .... 8288.412372: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=868864 flush-8:0-4272 [002] .... 8288.417731: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=858624 flush-8:0-4272 [002] .... 8288.422959: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=860672 flush-8:0-4272 [002] .... 8288.427513: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=862720 flush-8:0-4272 [002] .... 8288.431706: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=864768 flush-8:0-4272 [002] .... 8288.435613: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=866816 dd-4267 [003] .... 8288.513425: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8288.613432: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [002] .... 8288.807055: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=868864 flush-8:0-4272 [002] .... 8288.813588: writeback_pages_written: 24320 dd-4267 [003] .... 8288.964246: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8289.018315: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=870656 flush-8:0-4272 [002] .... 8289.018333: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=870656 dd-4267 [003] .... 8289.018334: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=870656 flush-8:0-4272 [002] .... 8289.022448: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=870656 flush-8:0-4272 [002] .... 8289.023068: writeback_pages_written: 512 dd-4267 [000] .N.. 8289.043118: writeback_congestion_wait: usec_timeout=100000 usec_delayed=24000 dd-4267 [000] .... 8289.062610: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8289.072452: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.082237: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8289.092057: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.101888: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.113107: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [000] .... 8289.117139: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871168 flush-8:0-4272 [002] .... 8289.117151: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871168 dd-4267 [000] .... 8289.117152: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871168 flush-8:0-4272 [002] .... 8289.120609: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871168 flush-8:0-4272 [002] .... 8289.121378: writeback_pages_written: 768 dd-4267 [000] .... 8289.122889: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8289.132666: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.140943: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8289.145446: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.149985: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8289.154423: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.169836: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8289.174289: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8289.239886: writeback_congestion_wait: usec_timeout=100000 usec_delayed=62000 dd-4267 [000] .... 8289.244347: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.248919: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8289.258780: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.268549: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.278371: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8289.288216: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8289.297985: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8289.307821: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.317661: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.327410: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8289.337217: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8289.347038: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.353471: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8289.359251: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8289.363735: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8289.368137: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.372635: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8289.377206: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.480585: writeback_congestion_wait: usec_timeout=100000 usec_delayed=81000 dd-4267 [000] .... 8289.482791: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8289.485066: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8289.487555: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.495298: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8289.505137: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8289.514910: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [002] .... 8289.520479: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8289.527108: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8289.544021: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871936 flush-8:0-4272 [002] .... 8289.544039: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871936 dd-4267 [000] .... 8289.544046: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871936 dd-4267 [000] .... 8289.545565: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=873984 dd-4267 [000] .... 8289.547139: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=876032 dd-4267 [000] .... 8289.548677: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=878080 flush-8:0-4272 [002] .... 8289.549822: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=871936 dd-4267 [000] .... 8289.553126: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=880128 flush-8:0-4272 [001] .... 8289.554779: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=873984 flush-8:0-4272 [001] .... 8289.567484: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=876032 dd-4267 [000] .... 8289.568912: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=882176 dd-4267 [000] .... 8289.570643: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=884224 dd-4267 [000] .... 8289.572336: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=886272 dd-4267 [000] .... 8289.574000: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=888320 flush-8:0-4272 [001] .... 8289.575450: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=878080 dd-4267 [000] .... 8289.575687: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=890368 dd-4267 [000] .... 8289.577346: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=892416 dd-4267 [000] .... 8289.579606: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=894464 flush-8:0-4272 [001] .... 8289.583703: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=880128 flush-8:0-4272 [001] .... 8289.590178: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=882176 flush-8:0-4272 [001] .... 8289.595612: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=884224 flush-8:0-4272 [001] .... 8289.600583: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=886272 flush-8:0-4272 [001] .... 8289.605480: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=888320 flush-8:0-4272 [001] .... 8289.610298: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=890368 flush-8:0-4272 [001] .... 8289.614567: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=892416 dd-4267 [002] .... 8289.679818: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [001] .... 8289.790935: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1280 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=894464 flush-8:0-4272 [001] .... 8289.794239: writeback_pages_written: 23808 dd-4267 [000] .... 8289.830712: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8289.979274: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=895744 flush-8:0-4272 [001] .... 8289.979295: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=895744 dd-4267 [000] .... 8289.979299: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=895744 flush-8:0-4272 [001] .... 8289.984149: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=895744 flush-8:0-4272 [001] .... 8289.985910: writeback_pages_written: 1024 dd-4267 [003] .... 8289.986879: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8289.989278: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8289.993746: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8290.022891: writeback_congestion_wait: usec_timeout=100000 usec_delayed=29000 dd-4267 [003] .... 8290.138516: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8290.238484: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8290.258044: writeback_congestion_wait: usec_timeout=100000 usec_delayed=19000 dd-4267 [001] .... 8290.272386: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8290.282389: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.292359: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.302381: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8290.312326: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.330620: writeback_congestion_wait: usec_timeout=100000 usec_delayed=15000 dd-4267 [001] .... 8290.340609: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8290.350579: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8290.360570: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8290.370533: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.380548: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8290.390506: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8290.400468: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.410469: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8290.420238: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8290.424433: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.430244: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.434405: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.440201: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8290.444394: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.450177: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.454365: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8290.460164: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8290.464360: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8290.466690: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8290.472687: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.494518: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8290.499431: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8290.506101: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8290.514874: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8290.525026: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8290.535090: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.545126: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8290.550820: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8290.555010: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8290.560856: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8290.573413: writeback_congestion_wait: usec_timeout=100000 usec_delayed=11000 dd-4267 [001] .... 8290.579244: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8290.585075: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8290.589299: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8290.591103: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=896768 flush-8:0-4272 [001] .... 8290.591114: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=896768 dd-4267 [003] .... 8290.591115: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=896768 dd-4267 [003] .... 8290.592629: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=898816 dd-4267 [003] .... 8290.594151: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=900864 dd-4267 [003] .... 8290.595687: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=902912 flush-8:0-4272 [001] .... 8290.596742: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=896768 flush-8:0-4272 [001] .... 8290.599560: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=898816 dd-4267 [003] .... 8290.599589: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=904960 dd-4267 [000] .... 8290.601759: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=907008 dd-4267 [000] .... 8290.604180: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909056 dd-4267 [000] .... 8290.606776: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8290.606967: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [001] .... 8290.608163: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=900864 dd-4267 [003] .... 8290.616932: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [001] .... 8290.807466: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=902912 flush-8:0-4272 [001] .... 8290.815087: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=904960 flush-8:0-4272 [000] .... 8290.825087: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=907008 flush-8:0-4272 [000] .... 8290.833291: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909056 flush-8:0-4272 [000] .... 8290.837230: writeback_pages_written: 13056 dd-4267 [003] .... 8290.898320: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909824 flush-8:0-4272 [000] .... 8290.898341: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909824 dd-4267 [003] .... 8290.898342: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909824 dd-4267 [003] .... 8290.900086: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=911872 dd-4267 [003] .... 8290.902263: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=913920 flush-8:0-4272 [000] .... 8290.903241: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=909824 dd-4267 [003] .... 8290.903966: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=915968 dd-4267 [003] .... 8290.905605: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=918016 flush-8:0-4272 [000] .... 8290.907371: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=911872 flush-8:0-4272 [000] .... 8290.914048: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=913920 flush-8:0-4272 [000] .... 8290.919004: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=915968 flush-8:0-4272 [000] .... 8290.923475: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=918016 flush-8:0-4272 [000] .... 8290.927621: writeback_pages_written: 10240 dd-4267 [001] .... 8291.007124: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8291.055558: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920064 flush-8:0-4272 [000] .... 8291.055576: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920064 dd-4267 [001] .... 8291.055577: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920064 flush-8:0-4272 [000] .... 8291.058663: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920064 flush-8:0-4272 [000] .... 8291.058672: writeback_pages_written: 256 dd-4267 [000] .... 8291.120020: writeback_congestion_wait: usec_timeout=100000 usec_delayed=65000 dd-4267 [000] .... 8291.228552: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920320 flush-8:0-4272 [002] .... 8291.228569: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920320 dd-4267 [000] .... 8291.228570: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920320 dd-4267 [000] .... 8291.230580: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=922368 dd-4267 [000] .... 8291.232100: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=924416 flush-8:0-4272 [002] .... 8291.232583: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=920320 flush-8:0-4272 [002] .... 8291.235968: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=922368 flush-8:0-4272 [002] .... 8291.241987: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=924416 dd-4267 [000] .... 8291.242861: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8291.246767: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926464 flush-8:0-4272 [002] .... 8291.247352: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926464 flush-8:0-4272 [002] .... 8291.249590: writeback_pages_written: 6400 dd-4267 [000] .... 8291.303192: writeback_congestion_wait: usec_timeout=100000 usec_delayed=57000 dd-4267 [002] .... 8291.418747: writeback_congestion_wait: usec_timeout=100000 usec_delayed=70000 dd-4267 [000] .... 8291.421290: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8291.430170: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8291.438818: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8291.448613: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8291.452546: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8291.458291: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8291.463059: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8291.501991: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [002] .... 8291.511822: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8291.521615: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8291.531477: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8291.541259: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8291.545313: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926720 flush-8:0-4272 [002] .... 8291.545327: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926720 dd-4267 [000] .... 8291.545329: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926720 dd-4267 [000] .... 8291.546859: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=928768 flush-8:0-4272 [002] .... 8291.549677: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=926720 dd-4267 [000] .... 8291.550805: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [000] .... 8291.550981: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8291.553082: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=928768 dd-4267 [000] .... 8291.554588: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=929536 dd-4267 [001] .... 8291.556446: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=931584 flush-8:0-4272 [002] .... 8291.558013: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=929536 dd-4267 [001] .... 8291.558925: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=933632 flush-8:0-4272 [002] .... 8291.560978: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=931584 dd-4267 [001] .... 8291.561309: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=935680 dd-4267 [000] .... 8291.566775: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 flush-8:0-4272 [002] .... 8291.567625: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=933632 flush-8:0-4272 [000] .... 8291.691938: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=935680 flush-8:0-4272 [000] .... 8291.696544: writeback_pages_written: 9984 dd-4267 [000] .... 8291.755429: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8291.765681: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8291.769854: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936704 flush-8:0-4272 [002] .... 8291.769869: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936704 dd-4267 [000] .... 8291.769870: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936704 dd-4267 [000] .... 8291.771371: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [002] .... 8291.773234: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936704 flush-8:0-4272 [002] .... 8291.773241: writeback_pages_written: 256 dd-4267 [002] .... 8291.775760: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8291.781707: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [000] .... 8291.784087: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8291.788791: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8291.809228: writeback_congestion_wait: usec_timeout=100000 usec_delayed=12000 dd-4267 [000] .... 8291.811942: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8291.819305: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936960 flush-8:0-4272 [002] .... 8291.819318: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936960 dd-4267 [000] .... 8291.819319: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936960 dd-4267 [000] .... 8291.820882: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=939008 dd-4267 [000] .... 8291.822428: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=941056 flush-8:0-4272 [002] .... 8291.822757: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=936960 dd-4267 [000] .... 8291.824434: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=943104 flush-8:0-4272 [002] .... 8291.825686: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=939008 dd-4267 [000] .... 8291.827048: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8291.827226: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [002] .... 8291.831471: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=941056 flush-8:0-4272 [002] .... 8291.836478: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=943104 flush-8:0-4272 [002] .... 8291.839973: writeback_pages_written: 7680 dd-4267 [002] .... 8291.930645: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8291.992029: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944640 flush-8:0-4272 [000] .... 8291.992046: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944640 dd-4267 [002] .... 8291.992056: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944640 flush-8:0-4272 [000] .... 8291.994832: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944640 flush-8:0-4272 [000] .... 8291.994838: writeback_pages_written: 256 dd-4267 [002] .... 8292.030123: writeback_congestion_wait: usec_timeout=100000 usec_delayed=38000 dd-4267 [002] .... 8292.050503: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [002] .... 8292.054831: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [000] .... 8292.060738: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.065103: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.071061: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.075356: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8292.081306: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.087263: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.091595: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.097536: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8292.122806: writeback_congestion_wait: usec_timeout=100000 usec_delayed=24000 dd-4267 [002] .... 8292.127164: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.168759: writeback_congestion_wait: usec_timeout=100000 usec_delayed=38000 dd-4267 [000] .... 8292.173114: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.235518: writeback_congestion_wait: usec_timeout=100000 usec_delayed=59000 dd-4267 [002] .... 8292.240176: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8292.247496: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.257469: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8292.267454: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [002] .... 8292.273257: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [000] .... 8292.277430: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8292.283231: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8292.287413: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8292.293190: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.297383: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8292.303189: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8292.305193: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944896 flush-8:0-4272 [000] .... 8292.305204: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944896 dd-4267 [002] .... 8292.305205: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944896 dd-4267 [002] .... 8292.306738: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=946944 dd-4267 [002] .... 8292.309833: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=948992 dd-4267 [000] .... 8292.313157: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 flush-8:0-4272 [000] .... 8292.735920: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=944896 flush-8:0-4272 [000] .... 8292.740409: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=946944 flush-8:0-4272 [001] .... 8292.748894: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=948992 flush-8:0-4272 [001] .... 8292.752966: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=33828 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [001] .... 8292.752968: writeback_queue_io: bdi 8:0: older=4302934457 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [001] .... 8292.752968: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=33828 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [001] .... 8292.752971: writeback_pages_written: 4864 dd-4267 [002] .... 8292.865367: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=949760 flush-8:0-4272 [001] .... 8292.865385: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=949760 dd-4267 [002] .... 8292.865386: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=949760 dd-4267 [002] .... 8292.867161: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=951808 dd-4267 [002] .... 8292.868811: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=953856 dd-4267 [002] .... 8292.870466: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=955904 flush-8:0-4272 [001] .... 8292.871705: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=949760 dd-4267 [002] .... 8292.873150: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=957952 dd-4267 [002] .... 8292.875731: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960000 flush-8:0-4272 [001] .... 8292.876282: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=951808 flush-8:0-4272 [001] .... 8292.883855: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=953856 flush-8:0-4272 [001] .... 8292.889576: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=955904 flush-8:0-4272 [001] .... 8292.894750: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=957952 flush-8:0-4272 [001] .... 8292.899538: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960000 flush-8:0-4272 [001] .... 8292.901892: writeback_pages_written: 11008 dd-4267 [000] .... 8292.976950: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8293.020761: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960768 flush-8:0-4272 [003] .... 8293.020778: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960768 dd-4267 [001] .... 8293.021248: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960768 flush-8:0-4272 [003] .... 8293.023781: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=960768 flush-8:0-4272 [003] .... 8293.023789: writeback_pages_written: 256 dd-4267 [001] .... 8293.083843: writeback_congestion_wait: usec_timeout=100000 usec_delayed=62000 dd-4267 [003] .... 8293.097927: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.108016: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8293.126388: writeback_congestion_wait: usec_timeout=100000 usec_delayed=14000 dd-4267 [001] .... 8293.136458: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8293.146577: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.156636: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.166659: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.170791: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=961024 flush-8:0-4272 [003] .... 8293.170804: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=961024 dd-4267 [001] .... 8293.170805: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=961024 dd-4267 [001] .... 8293.172326: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=963072 dd-4267 [001] .... 8293.173830: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=965120 flush-8:0-4272 [003] .... 8293.174168: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=961024 dd-4267 [001] .... 8293.175352: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=967168 flush-8:0-4272 [003] .... 8293.177053: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=963072 flush-8:0-4272 [003] .... 8293.182445: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=965120 dd-4267 [002] .... 8293.282859: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 flush-8:0-4272 [003] .... 8293.321004: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=967168 flush-8:0-4272 [003] .... 8293.325879: writeback_pages_written: 8192 dd-4267 [002] .... 8293.424762: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [002] .... 8293.428997: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.434825: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.439025: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8293.444901: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.449071: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8293.454973: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.459202: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.465002: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.469260: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.475132: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.479335: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.485174: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.489424: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.495268: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.499474: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.505310: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [002] .... 8293.509565: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8293.515405: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8293.519611: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8293.529871: writeback_congestion_wait: usec_timeout=100000 usec_delayed=8000 dd-4267 [001] .... 8293.539968: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8293.550034: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.560097: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8293.570116: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [003] .... 8293.574101: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969216 flush-8:0-4272 [001] .... 8293.574114: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969216 dd-4267 [003] .... 8293.574119: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969216 flush-8:0-4272 [001] .... 8293.578134: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969216 flush-8:0-4272 [001] .... 8293.578142: writeback_pages_written: 256 dd-4267 [001] .... 8293.580245: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.583993: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969472 flush-8:0-4272 [003] .... 8293.584005: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969472 dd-4267 [001] .... 8293.584006: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969472 dd-4267 [001] .... 8293.585670: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=971520 flush-8:0-4272 [003] .... 8293.587582: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=969472 dd-4267 [001] .... 8293.590259: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 flush-8:0-4272 [003] .... 8293.590489: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=971520 flush-8:0-4272 [003] .... 8293.593743: writeback_pages_written: 2560 dd-4267 [001] .... 8293.594087: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=972032 flush-8:0-4272 [003] .... 8293.594095: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=972032 dd-4267 [001] .... 8293.594104: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=972032 dd-4267 [001] .... 8293.595677: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974080 flush-8:0-4272 [003] .... 8293.596789: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=972032 flush-8:0-4272 [003] .... 8293.599663: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974080 flush-8:0-4272 [003] .... 8293.601695: writeback_pages_written: 2304 dd-4267 [001] .... 8293.620507: writeback_congestion_wait: usec_timeout=100000 usec_delayed=24000 dd-4267 [001] .... 8293.640663: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8293.648906: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8293.657732: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8293.662163: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8293.666667: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.719584: writeback_congestion_wait: usec_timeout=100000 usec_delayed=48000 dd-4267 [001] .... 8293.721790: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.724056: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8293.731220: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8293.741252: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.748399: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.752893: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.757387: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8293.761705: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.768565: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8293.773111: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8293.784513: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8293.794486: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8293.804558: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8293.816096: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [000] .... 8293.820338: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [002] .... 8293.822648: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [002] .... 8293.824862: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8293.827337: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8293.831982: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8293.850276: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974336 flush-8:0-4272 [003] .... 8293.850291: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974336 dd-4267 [001] .... 8293.850292: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974336 flush-8:0-4272 [003] .... 8293.854749: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974336 flush-8:0-4272 [003] .... 8293.854756: writeback_pages_written: 256 dd-4267 [003] .... 8293.949419: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [001] .... 8293.950099: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8293.954661: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8293.957135: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8293.959495: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974592 flush-8:0-4272 [001] .... 8293.959505: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974592 dd-4267 [003] .... 8293.959506: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974592 flush-8:0-4272 [001] .... 8293.964429: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=974592 dd-4267 [003] .... 8293.964831: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=976640 dd-4267 [003] .... 8293.966420: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=978688 flush-8:0-4272 [001] .... 8293.967125: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=976640 dd-4267 [003] .... 8293.967957: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=980736 flush-8:0-4272 [001] .... 8293.974557: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=978688 dd-4267 [000] .... 8293.976671: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=982784 dd-4267 [000] .... 8293.979998: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=984832 dd-4267 [000] .... 8293.980544: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [001] .... 8293.981418: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=980736 flush-8:0-4272 [001] .... 8293.987940: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=982784 dd-4267 [000] .... 8293.988730: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [001] .... 8293.994540: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=984832 flush-8:0-4272 [001] .... 8293.996489: writeback_pages_written: 10496 dd-4267 [001] .... 8294.029115: writeback_congestion_wait: usec_timeout=100000 usec_delayed=27000 dd-4267 [001] .... 8294.064816: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985088 flush-8:0-4272 [003] .... 8294.064833: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985088 dd-4267 [001] .... 8294.064834: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985088 flush-8:0-4272 [003] .... 8294.067992: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985088 flush-8:0-4272 [003] .... 8294.068000: writeback_pages_written: 256 dd-4267 [001] .... 8294.068875: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.078863: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.088870: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8294.098835: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.108811: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.118806: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.122874: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985344 flush-8:0-4272 [003] .... 8294.122890: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985344 dd-4267 [001] .... 8294.122895: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985344 dd-4267 [001] .... 8294.124491: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=987392 dd-4267 [001] .... 8294.126057: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=989440 flush-8:0-4272 [003] .N.. 8294.126285: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=985344 dd-4267 [001] .... 8294.127632: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=991488 flush-8:0-4272 [003] .... 8294.129080: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=987392 flush-8:0-4272 [003] .... 8294.134718: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=989440 flush-8:0-4272 [003] .... 8294.139698: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1792 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=991488 flush-8:0-4272 [003] .... 8294.143930: writeback_pages_written: 7936 dd-4267 [000] .... 8294.154721: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993280 flush-8:0-4272 [003] .... 8294.154740: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993280 dd-4267 [000] .... 8294.154741: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993280 flush-8:0-4272 [003] .... 8294.156714: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993280 flush-8:0-4272 [003] .... 8294.156722: writeback_pages_written: 256 dd-4267 [002] .... 8294.254308: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [002] .... 8294.351041: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993536 flush-8:0-4272 [003] .... 8294.351061: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993536 dd-4267 [002] .... 8294.351067: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993536 flush-8:0-4272 [003] .... 8294.355385: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993536 flush-8:0-4272 [003] .... 8294.355392: writeback_pages_written: 256 dd-4267 [003] .... 8294.429885: writeback_congestion_wait: usec_timeout=100000 usec_delayed=74000 dd-4267 [001] .... 8294.432726: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8294.435228: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8294.449908: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8294.455841: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8294.461793: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.466140: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .N.. 8294.472105: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.476408: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8294.482332: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.486666: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.492631: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.496951: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8294.502897: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.507247: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.513196: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.517488: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8294.523451: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.527785: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.533730: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.538058: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8294.544007: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.548348: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.613136: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.617232: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.622950: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8294.627046: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.632738: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8294.646693: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [001] .... 8294.656647: writeback_congestion_wait: usec_timeout=100000 usec_delayed=10000 dd-4267 [001] .... 8294.662184: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.676087: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8294.680177: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.685900: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8294.690000: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.695720: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8294.699792: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.705508: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8294.709607: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.715336: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.719415: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.725125: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [003] .... 8294.729222: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.734952: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.739050: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.744735: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8294.748838: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.754564: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8294.758690: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8294.768628: writeback_congestion_wait: usec_timeout=100000 usec_delayed=10000 dd-4267 [001] .... 8294.827256: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [000] .... 8294.829463: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [000] .... 8294.831574: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8294.833749: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [002] .... 8294.835917: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8294.849642: writeback_congestion_wait: usec_timeout=100000 usec_delayed=13000 dd-4267 [001] .... 8294.851883: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8294.926921: writeback_congestion_wait: usec_timeout=100000 usec_delayed=71000 dd-4267 [003] .... 8294.929117: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8294.931419: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 dd-4267 [003] .... 8294.936759: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993792 flush-8:0-4272 [001] .... 8294.936771: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993792 dd-4267 [003] .... 8294.936776: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993792 dd-4267 [003] .... 8294.938346: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=995840 dd-4267 [003] .... 8294.939895: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=997888 dd-4267 [003] .... 8294.941461: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=999936 flush-8:0-4272 [001] .... 8294.942432: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=993792 dd-4267 [003] .... 8294.943044: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1001984 dd-4267 [003] .... 8294.944594: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1004032 flush-8:0-4272 [001] .... 8294.945567: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=995840 dd-4267 [003] .... 8294.948509: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1006080 dd-4267 [000] .... 8294.950142: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1008128 flush-8:0-4272 [000] .... 8294.954509: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=997888 flush-8:0-4272 [000] .... 8295.060073: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=999936 flush-8:0-4272 [001] .... 8295.070258: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1001984 flush-8:0-4272 [001] .... 8295.079359: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1004032 flush-8:0-4272 [001] .... 8295.086159: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1006080 flush-8:0-4272 [001] .... 8295.092211: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1008128 flush-8:0-4272 [001] .... 8295.095943: writeback_pages_written: 15360 dd-4267 [002] .... 8295.149629: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009152 flush-8:0-4272 [001] .... 8295.149649: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009152 dd-4267 [002] .... 8295.149661: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009152 flush-8:0-4272 [001] .... 8295.154294: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=768 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009152 dd-4267 [002] .... 8295.154608: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009920 flush-8:0-4272 [001] .... 8295.155299: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1024 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1009920 dd-4267 [002] .... 8295.155309: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1010688 dd-4267 [002] .... 8295.156976: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1012736 dd-4267 [002] .... 8295.158592: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1014784 flush-8:0-4272 [001] .... 8295.159917: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1010688 flush-8:0-4272 [001] .... 8295.163902: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1012736 dd-4267 [002] .... 8295.164768: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1016832 flush-8:0-4272 [001] .... 8295.170302: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1014784 flush-8:0-4272 [001] .... 8295.175152: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=1536 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1016832 flush-8:0-4272 [001] .... 8295.178552: writeback_pages_written: 9216 dd-4267 [000] .... 8295.265787: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [003] .... 8295.368201: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8295.377759: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.381826: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8295.387549: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.391664: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.397376: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.401466: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [003] .... 8295.407182: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.411274: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.417013: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.421116: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [003] .... 8295.426809: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.430867: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.436645: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.446602: writeback_congestion_wait: usec_timeout=100000 usec_delayed=7000 dd-4267 [001] .... 8295.450132: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1018368 flush-8:0-4272 [003] .... 8295.450147: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1018368 dd-4267 [001] .... 8295.450152: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1018368 dd-4267 [001] .... 8295.454012: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1020416 flush-8:0-4272 [003] .... 8295.454533: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1018368 dd-4267 [001] .... 8295.455564: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1022464 flush-8:0-4272 [003] .... 8295.457413: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1020416 dd-4267 [000] .... 8295.459310: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024512 dd-4267 [001] .... 8295.460273: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 flush-8:0-4272 [003] .... 8295.463336: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1022464 flush-8:0-4272 [003] .... 8295.468614: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024512 flush-8:0-4272 [003] .... 8295.470473: writeback_pages_written: 6400 dd-4267 [003] .... 8295.561536: writeback_congestion_wait: usec_timeout=100000 usec_delayed=100000 dd-4267 [000] .... 8295.619605: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024768 flush-8:0-4272 [003] .... 8295.619628: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024768 dd-4267 [000] .... 8295.619629: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024768 flush-8:0-4272 [003] .... 8295.624325: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1024768 flush-8:0-4272 [003] .... 8295.624334: writeback_pages_written: 256 dd-4267 [001] .... 8295.626436: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.630738: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.636693: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.641010: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.646977: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.651282: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.657228: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.661569: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.667523: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [001] .... 8295.671798: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.677742: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.682120: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.688077: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.698626: writeback_congestion_wait: usec_timeout=100000 usec_delayed=9000 dd-4267 [001] .... 8295.708811: writeback_congestion_wait: usec_timeout=100000 usec_delayed=5000 dd-4267 [003] .... 8295.719075: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [001] .... 8295.724796: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.729170: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.735113: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.739452: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8295.741771: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025024 flush-8:0-4272 [001] .... 8295.741782: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025024 dd-4267 [003] .... 8295.741783: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025024 dd-4267 [003] .... 8295.745338: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 flush-8:0-4272 [001] .... 8295.745929: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025024 flush-8:0-4272 [001] .... 8295.745935: writeback_pages_written: 256 dd-4267 [001] .... 8295.749693: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.755677: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.760008: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.765967: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.770295: writeback_congestion_wait: usec_timeout=100000 usec_delayed=1000 dd-4267 [001] .... 8295.776226: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [003] .... 8295.780561: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.786491: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.790761: writeback_congestion_wait: usec_timeout=100000 usec_delayed=3000 dd-4267 [001] .... 8295.796727: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [003] .... 8295.801103: writeback_congestion_wait: usec_timeout=100000 usec_delayed=2000 dd-4267 [001] .... 8295.807061: writeback_congestion_wait: usec_timeout=100000 usec_delayed=4000 dd-4267 [001] .... 8295.808918: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025280 flush-8:0-4272 [003] .... 8295.808931: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025280 dd-4267 [001] .... 8295.808942: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025280 dd-4267 [001] .... 8295.810446: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1027328 dd-4267 [001] .... 8295.811934: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1029376 flush-8:0-4272 [003] .... 8295.813114: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1025280 dd-4267 [001] .... 8295.815817: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1031424 flush-8:0-4272 [003] .... 8295.816182: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1027328 dd-4267 [000] .... 8295.821315: writeback_queue: bdi 8:0: sb_dev 0:0 nr_pages=256 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1033472 flush-8:0-4272 [003] .... 8295.822702: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1029376 dd-4267 [000] .... 8295.827544: writeback_congestion_wait: usec_timeout=100000 usec_delayed=6000 dd-4267 [000] .... 8295.827734: writeback_congestion_wait: usec_timeout=100000 usec_delayed=0 flush-8:0-4272 [003] .... 8295.828932: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=2048 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1031424 dd-4267 [001] .... 8295.864365: writeback_congestion_wait: usec_timeout=100000 usec_delayed=33000 flush-8:0-4272 [001] .... 8296.051145: writeback_exec: bdi 8:0: sb_dev 0:0 nr_pages=512 sync_mode=0 kupdate=0 range_cyclic=0 background=0 reason=pageout ino=13 offset=1033472 flush-8:0-4272 [001] .... 8296.054689: writeback_pages_written: 8704 flush-8:0-4272 [003] .... 8301.051487: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=21838 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8301.051491: writeback_queue_io: bdi 8:0: older=4302942761 age=30000 enqueue=1 reason=periodic flush-8:0-4272 [003] .... 8301.051498: writeback_single_inode: bdi 8:0: ino=13 state= dirtied_when=4302938315 age=39 index=0 to_write=1024 wrote=0 flush-8:0-4272 [003] .... 8301.051501: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=21838 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8301.051502: writeback_start: bdi 8:0: sb_dev 0:0 nr_pages=21838 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8301.051502: writeback_queue_io: bdi 8:0: older=4302942761 age=30000 enqueue=0 reason=periodic flush-8:0-4272 [003] .... 8301.051502: writeback_written: bdi 8:0: sb_dev 0:0 nr_pages=21838 sync_mode=0 kupdate=1 range_cyclic=1 background=0 reason=periodic ino=0 offset=0 flush-8:0-4272 [003] .... 8301.051505: writeback_pages_written: 0 --ibTvN161/egqYuK8 Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw-300.png" Content-Transfer-Encoding: base64 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 HDhwoOnpV1991eI1R48eLSwsfP7552+++ebJkyc3P87f/va33r17f/7552f+jmeeufbu3XvN Ndfk5eWd8GVLlng6dvRItT/7mae8vGnz4cOHO3fu3OJb/Nd//df9999/Fj+978ye7ZE8s2fb +k1P4sPhi9OYFnEG2BxutzsqKsrpFLAJdZuDro1C3eagazQJCgo6duxYYGBg05bOnTvv27cv IiKi4ens2bPnzp17yl/pKyoqoqOjjxw5oma/9q9evXr69OlLly49eV3u6TQfGfbv3/9lnz63 VFbK41FYmCorlZCgmBilp8vl2jZ69NdTp46fMKHpa5ctW/aXv/xl48aNTVuOHz/es2fPtWvX 9u3b95z+Ks7LM89o0SKlpsq2226dCh+DBNiH/44ahbrNQddGoW5z0DWa9OrV66233mo+NY0a NeqRRx757rvvDh8+/Oc///nTTz9t2jV06NDMzMxvvvmmrq7O7XYvWLDgpz/9aYsDJiUlZWVl TZw48dVXX7WQZ9SoUVf86EdqyOPxyOPRBx8oPV3BwXr++Wtee23Rs8+uWLGiqqqqqqoqKysr NTV19uzZzY/w6quv9u3b19bpV9LMmfrqK2enX99iAAYAAADQ3syfP3/69OmBgYFNn76bnp7+ /fffX3bZZZdddllBQcGSJUuaXjx37tzXX3/9Jz/5SceOHW+44YaysrKlS5eefMxBgwatW7fu //yf/7Nw4cJzS5OQsLGwMOrzzxufVlZK0nffKShI112nadNCQkKWL1+ek5Nz6aWXdu3a9Zln nlm6dGmLIfyZZ56x79OP2i+u47WIS6DNkZubO2rUKKdTwCbUbQ66Ngp1m4Ou0UYFBamu7tS7 AgNVW2tvGv/DxyAB9nG73U5HgH2o2xx0bRTqNgddoy2qq1OvXvryy5bbg4M1cqTCwpzIZC5O Y1rEGWAAAAAAXpSX6847tX69OnVSz57asUOSIiJUXq74eDW7xxXOgJtgAQAAAEDb9vXXGjxY 69erWzfl5+vKKxUQIJdLoaEKDpbXz/JFK+A0pkWcAQYAAABwWtu26bbbVFqq2Fi9+aZ69nQ6 kB/jDDBgn5SUFKcjwD7UbQ66Ngp1m4Ou0VYsW6ahQ1Vaqp/+VO++y/TbdnAa0yLOAAMAAAA4 hTlzNHeuPB498ICefVZB3Hj4fHEXaAAAAABoY44f1/Tp+utfFRCgp58WH9vb9jAAAwAAAMB5 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 gBexsbFOR4B9qNscdG0U6jYHXfuZ/HzV1Z16V02NrrnmDF9K17CGOzlZxE2wAAAAgPMyYYLe fFPV1SdsDAjQyJG64AJlZTkUC22OD4cvzgADAAAAsN2BA/r2W1VXKzCw8TxwRITKyzVkiN56 y+lwaLdYAwx4UVJS4nQE2Ie6zUHXRqFuc9C139ixQwMH6t13FROjYcMa7wIdGqrgYEVGns0B 6BrWMAADXmRmZjodAfahbnPQtVGo2xx07R9Wr9aAASou1pAh+uADrV+vujrV12vvXtXUKDv7 bI5B17CGhawWsQYYAAAAOGfz5ystTXV1mjJF6enq2NHpQPADrAEGAAAA4FeOH9evf60XXlBA gBYu1MyZTgeCifzvEujS0tI+ffq4XK7mG3fv3p2cnBweHh4eHp6cnLxnz57me9etWzdo0KBO nTpFRkbee++9+/fvb77XdRI7fgwAAADAHGVlSkzUCy8oPFxvvMH0C6f42QDs8XimTp06d+7c 5hsrKyuHDx8eFxdXUlJSUlISFxc3YsSI6n/fTj0vL++ee+5JTU09ePDg7t27ExMTk5OTjx07 1uKwzdn388AfpKWlOR0B9qFuc9C1UajbHHTdRn3xhW66SevXKyZG77yjMWPO/5B0DWv8bCHr ggULCgsLMzIyml8F/vTTT3/44YfN18FPnjz5pptuSk1NlRQfHz9jxoyJEyc27V26dGlZWdmM GTManlq7oJw1wOZwu91RUVFOp4BNqNscdG0U6jYHXbdFeXkaP15lZRoyRNnZ8lFBdG0UHw5f /jTFFRYW3n333QUFBWFhYc3/CoYPHz5r1qyEhISmV65du3b+/Pl5eXmSOnfufPDgwdDQ0Ka9 lZWV48aNW7duXcNTBmAAAACgVTz3nB5+WLW13PIK58OHw5ffXAJ95MiRKVOmLFmyJCwsrMWu 7du3X3fddc23XHvttTt27DjD0T777LPmT7t16xYUFNS9e/dJkyZ98cUXvsoMAAAAGCExsfGz fBMTGx+PGqWUFD30kOrrtXChXn6Z6Rdtgd8MwI888sj48eMHDBhw8q6ysrLIEz8vu2vXrocO HWp43L9//zVr1jTfu3r16qa9km677bbXXnutqqpq+/btQ4cOHTZsWGFhYSv8BPBXubm5TkeA fajbHHRtFOo2B107prpaDSfoqqsbHxcUKD299W55Rdewxj8G4JycnO3btz/22GMWvnbOnDkP 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 6thRDZ800b27YmK0davi47Vxo8PxAMDPGfc5wF999dXll1/e4t8Amh7069fvk08+af76oqKi vn37Nj2Nj4/Pz8+vrKysrq7evHlzRETEwIEDT/e94uLiDhw40Go/CgAAaF82bNDgwdq1S/37 64IL5HLJ5dKAAereXcHBOnGVFgDAWf5xE6yTx/3m/waQlJSUkZHR/C7QGRkZt9122+mO9qc/ /enhhx8+3d6tW7deddVV55cXAACYISND06appkYJCUpMVEKCYmOdzgQAOC3/OAN8ZtOmTduy Zcu8efPKysrKysqefPLJrVu33nfffU0vGD9+fGFh4fHjx4uLi1NSUnr06DFs2LCGXT/72c9y cnIOHDhQV1f33XffLVu27N577/3DH/7gzE+CNqn50gW0e9RtDro2SmvV/dRT+o//UE2Nfv1r LVummTOZfh3HW9scdA1r2sMAHBYWlp+fv23btpiYmJiYmA8++CAvL6/5B//eeeedkyZN6tKl y5gxY/r27bt48eKmXbNmzcrIyOjbt29ISMg111zz6quvLl++fHTDh9cDkqRYfpsxCXWbg66N 4vu6jx7VxIn63e8UFKQXX9Rzz+nCC338LWAJb21z0DWs4U5OFnETLAAADFVRofHjtXatQkP1 j3/o9tudDgQA7ZwPhy//WAMMAADgpO3bdeGF6tFD//u/GjNGO3cqJkarV+vqq51OBgA4B+3h EmigVZWUlDgdAfahbnPQtVHOt+5Vq7R5s3r00ObNGjRIO3eqf3+99x7TbxvEW9scdA1rGIAB LzIzM52OAPtQtzno2ijnVff8+XrpJd1/v5Yu1ciR+u473X67Nm5U9+6+Cwif4a1tDrqGNSxk tYg1wAAAtFuJicrNlcejkBAdPaqRIzV4sObOlcejRx/Vk08qMNDpiABgENYAAwAAtJrqajX8 pnX0qCR98YXWr1dAgP77v/V//6+z0QAA54PTmBZxBhgAgHYoIUEFBaqsVF3dCdsDAnTNNSos dCgWABjNh8MXa4ABL9LS0pyOAPtQtzno2ijnUHd+vsrLW06/kurr9dlnvk2F1sBb2xx0DWs4 jWkRZ4DN4Xa7o6KinE4Bm1C3OejaKOdQ96BB2rpVLf4THxyskSMVUBcr1gAAIABJREFUFqas rNaIBx/irW0OujaKD4cvpjiLGIABAGhX6uv18MNatEguly67TA2fsBIRofJyxcdr40aH4wGA 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 XcOawBuAS0pKLr/8cofDUXvjzp07k5OTw8PDw8PDk5OTd+3aVXvvypUr+/bt26xZs8jIyLvu uqtquXKVNWvWjB07tk2bNk2aNOnevfvbb7/to28DgcPlctkdAb5D3eZonF17PJo+XYmJKi3V hAm64Ybqu0C3aKGQEEVG2p3PNo2zbpwJXZuDrmFNgC1k9Xg8Q4YMueeee26//faa5GVlZddc c82999778MMPS5o3b978+fM3b97cvHlzSXl5eePGjXvhhReSkpIkLV26dO7cuXl5eU2aNJHk cDhuvPHGP/zhDz169Ni2bdt9992XkpJy//3315mENcAAAP9SXq7f/lZZWXI69eyzmjLF7kAA AHiHuTfBevbZZzdv3rxgwYLa/wlmz569cePGzMzMmqfdeeedvXr1mjx5sqT4+PiHH3547Nix NXsXLly4f//+qmn5f/7nf55++uma88n//Oc/hw0btn379jqTMAADAPzIrl265RZ9+aXCw7Vw oRIT7Q4EAIDXGDoAb968efz48YWFhWFhYbX/EwwePDg1NTUhIaHmmStWrEhPT8/Ly5PUvHnz ffv2tWjRomZvWVnZqFGjVq5cefqXOHLkSMuWLY8dO1ZnGAZgAIC/WL9eI0equFiXXKKcHHXt ancgAAC8yYvDl8U1wI7z4JV8NY4cOTJhwoQ33ngj7LTbV27durVbt261t3Tt2vWbb745x9G+ /vrrM25fvnz5r3/963pGRSOTkpJidwT4DnWbo/F0nZmpAQNUXKwBA7R+PdPvGTWeulEXujYH XcOa+k7Shw4duv/++6+77rrx48fHxMTs3bv37bff3rhx42uvvRZac/NJb3jooYcuvvjiJ554 ourD2n8DuOiiiw4fPhwSElLz5BMnToSGhladyB0wYMCjjz46evTomr3vvvvu3Xffffpp3p9/ /rlPnz4vv/zywIED68zDGWAAgM0qK/X443rmGXk8uvtuvfyymjSxOxMAAN5n/xngGlOnTr3p ppv++7//u3379sHBwe3bt//d7343ePDgxx57zCv5quTk5GzduvXxxx+38LnTp09/5JFHFi9e fPjw4cOHD2dlZU2ePNnpPPUb37t376hRo+bOnXs+02+Vs536HjNmTM1zMjIyVq1aVfV4x44d qampNbtSU1N37NhR9XjVqlUZGRk1uzgCR+AIHIEjcIQ6jnD4sMaMUXq6HA4995zefDNj/vzA +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 ZgEAAAAAvYZu7hxYsWLFsGHDNmzY4PjW9UNwPz8/s9ns6+vr3PnOnTv9+/e3Wq0i0tLSMn/+ /I8//tg5O2/evPz8fMdjtDqe7QA3XaiDrJVC3Ooga6UQtzrIWh1krRR3xm3Xg717906bNq2p qck54lq5r6+vzWZz3d9ms/n5+Tm2N23aNGLEiIKCArPZbDabCwoKIiMj33zzza7MdsA9P30A AAAAQGfc0FXa7Xa7XR+/OBk1alRxcXF4eLhzxPV3AA899NC5c+ceeugh52xNTU1sbOz169dF JDIyMjc3d8qUKc7ZioqKxYsXf/nll53OAgAAAAB6DX2sAb548WJERISPCxFxbowePfrTTz91 3f/cuXPR0dGO7erq6gkTJrjOxsbGVldXd2UWAAAAANBr6KMBbvcOZOfGvHnzsrKyXPfPysqa P3++Y3v48OGVlZWus2fOnAkLC+vKLAAAAACg19BHA9yxZcuWnThxYvPmzbW1tbW1tZs2bSov L09NTXXMrlmzZsmSJUVFRRaLxWKxFBQULF68eO3atV2ZBQAAAAD0GvpYA9xWq+eAXb58ee3a tcXFxSIye/bsbdu2uS4Yfvvtt3fs2OH4w0jR0dErV658/vnnuzgLAAAAAOgd9NoAAwAAAABw T3rDLdAAAAAAAHSKBhgAAAAAoAQaYAAAAACAEmiAAQAAAABKoAEGAAAAACiBBhgAAAAAoATl GuDm5uaMjIyYmBij0Wg0GmNiYjIyMpqbmx2zx44dS0pKCg0NNRgMsbGx77//fquXHzp06PHH H/f39x80aNAvfvGLGzduuM62tLRs37599OjRRqNxzJgxeXl5HVRy5syZF198MTg42MfHx73v UWV6yZf07x9ZK0UXcXdaBrqCrJWii7jLy8tTU1MjIyN9fX2Dg4Pj4+Ozs7Pv+60rh6zVoYOs 7YpJT0+fOnVqWVmZxWKxWCwnTpx4/PHH09PTHbMikpCQUF5ebrPZPv3000mTJu3atcv52sOH D4eEhOTk5NTX19fX13/wwQdxcXGNjY3OHdLS0lJTU//zn/9YrdbTp08vWLCgg0qio6M3btx4 /vx5BVPoPnrJl/TvH1krRRdxd1wGuoislaKLuB977LEdO3ZcuHDBarXW19d/8sknjz322Cuv vOK+H4MSyFodPT9r5S7IAgMDr1275jpSXV0dGBjo2F63bl1LS4tz6sKFCyNHjnR+Gx8fn5ub 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 KOH/AB/svHj2bGTzAAAAAElFTkSuQmCC --ibTvN161/egqYuK8 Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw.png" Content-Transfer-Encoding: base64 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 pRYvXnzHHXcsXLjwsssua/Z7//a3v40YMWLTpk3t27fP8t2pZcvUsmXZ3pDTX/6iGhvVtm1q 2zb1pS+pL31JFRerSy7J657Dh6vhwx38PhfLV9bUAAAAAMAIhw4duv/++1955ZVt27YdPXpU KVVUdHw9bL9+/X784x/fd999X/ziF1v9vY888sjKlSvffPPNLl26ZLr/okWL1q9f/+STT2Yf xs6dO8eMGfPUU0+l2q/67AjosWPHWr8cN26cUuq+++774x//2Oy3P/bYYz/84Q9ztF+l1Dvv uLlu2arBSqm33srrPp06OSvALmIa0yFmgAEAAABttfxx/ZZbbtm1a9fPfvazr371q126dDl6 9GiHDh2s9/zzn/+cPHnysmXLTj/99AsvvPDf/u3frr32Wqseh0KhxsbGU089dd26db17987y J5555pm1tbXp88Mtx/DRRx+NGDHi0UcfHX5iD+zdu/fGjRvT23VDQ0NZWdmBAwfS35ZIJM4+ ++x//vOf3bt3z/H9v/OOyryI2hZrBvif/1QbN6ozz1RnneXCDPCll6oWc9p2uFm+knCE6ITc e++9Xg/BTAQrhGCFEKwQgpVDtkIIVkgQgm354/opp5yya9eu1C8//PDDZu85fPjwmjVrZs+e fdFFF914443p9/nlL3955plnbtiwIfufmL1zffTRR+eee25tbW3L3zts2LCGhob0V/bv39+5 c+dmb3vooYd+8IMfZBmD++6/P6lU8v77C/qHtuBi+WIa0yFmgIUkEonS0lKvR2EgghVCsEII VgjByiFbIQQrJAjBtm/f/tNPP23Xrl3qlc6dO+/YsePkk0+2fnn//fc/8MADrf5Iv2/fvrKy skOHDqm0H/uXLFkyceLEl156qeW+3EzSK8POnTuvuOKKhx9++Jvf/GbLdz711FO9evW67rrr Uq/Mmzfv2Wef/dOf/pR65ciRI6effvobb7zRt29fmwNwwWOPqccfV5MmqYIdu9UaHoMEYxn/ /8VeIVghBCuEYIUQrByyFUKwQoIQ7BlnnPGHP/whvTVdffXVd9555+7du/fv3//MM8/87W9/ S10aPHhwTU3Ntm3bjh07lkgkZsyYcfnllze74ciRI19++eWxY8cuWLDAwXiuvvrqe++9t9X2 q5S6+eabH3/88VdeeeXAgQMHDhx4+eWXJ02adP/996e/Z8GCBX379i1o+1VK3XGH+vBDb9uv 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 aRweghWywd2BIiDC4bDXQzATwQohWCEEK+R4sLRfAXxohRCsEIIVQrD6y3ct9f79+ydMmHDh hReOGzeurKxs586dL7744urVq//3f//3pJNOcmuUGmIPMADAT+zP+iqqLwBALy6Wr3xvdMst t1x00UUTJkxIf3H27NkrV658/vnn8xub1ijAAADfsL/dN5mk/QIAdKNRAe7Ro8fmzZu7du2a /uK+ffv69Omzd+/e/MamNQowAMAfOOwKAOBzLpYvh3uAUw4fPtzq60eOHMnzzgimaDTq9RDM RLBCCFYIwbqG9lsofGiFEKwQghVCsPrLtwBfdtllr7zySrMX58+fP3jw4DzvjGCqqKjweghm IlghBCuEYN1hp/1ay55pv3njQyuEYIUQrBCC1V++U8nr1q276qqr7r777rFjx1qHYL300kuP Pvro0qVL+/fv79YoNcQSaACAvmxO/PIXGQDADzRaAj1gwIC33377vffeq6qq6tixY1VV1Zo1 a9555x2z2y8AAPrK3n5TzynkgYUAgOBhGtMhZoCFxOPx8vJyr0dhIIIVQrBCCNahDRtUv35Z 2m8yFAqx2lkGH1ohBCuEYIUQrBCNZoABd9XU1Hg9BDMRrBCCFUKwDmVtv0qpqQ8+WLCxBA0f WiEEK4RghRCs/lxo0kuWLHnsscdWrVr1ySefNDU1KaVGjBhx2223ffOb33RjhJpiBhgAoBc7 K5+Z/gUA+JBGM8DPPffcnXfeedddd23bti01psmTJ8+YMSPvsQEAgFyKilQodPww5yyammi/ AADk26TLy8sXL148YMAAldbLGxoaysrKDhw44M4YtcQMMADAezzmFwAQABrNANfV1Z199tkt X2/fvn2ed0YwRSIRr4dgJoIVQrBCCDaj1HxvKGSr/SaT6Y/5JVg5ZCuEYIUQrBCC1V++TXrQ oEE//elPR40apdJ6+csvv/zrX/96yZIl7oxRS8wAC0kkEqWlpV6PwkAEK4RghRBsK845R33w Qdt+S4uJX4KVQ7ZCCFYIwQohWCEulq98b/SnP/3p+uuvv++++0aOHHnaaaft3r170aJF//3f //273/3OWhdtKgowAKCg2vrYXpY9AwBModES6CFDhsRisTfffPOisPdungAAIABJREFUiy5q 37792Wef/fvf//6NN94wu/0CAFA4Z51F+wUAwBUuPAf4vPPOmz9/fl1d3ZEjRz7++OP58+dX VFTkf1sEUywW83oIZiJYIQQrhGA/V1SkNm609U5rY7DK1n4JVg7ZCiFYIQQrhGD150IBBlyU SCS8HoKZCFYIwQoh2ONsHvKsPiu98Xj6kVctEawcshVCsEIIVgjB6s/hWupQKKSUSiaTocyL sszeIsseYACArJzt1/orOJlkwTMAwGwuli+HDytK/fGUQAAA3Je9/dJ4AQBwhCXQAABohvYL AICMfAtwpiXQWZZGA1mEw2Gvh2AmghVCsEKCG2xRkQqF5NpvcIOVR7ZCCFYIwQohWP3lu5a6 1dXYyWSyXbt2TUb/+zR7gAEALrOz6dfov1sBAGiV93uAszh27FgsFuvTp4/rdwYAwEBW75Wc +AUAABbnBTi1yLnZaud27dqdccYZM2fOzGtcAAAEhNV7s//DNu0XAAA3ON8DnEwmrWno5ImO Hj36f//3f9dee617g0SARKNRr4dgJoIVQrBCAhHshg3Hd/xmFwqpzp3d+jMDEaxHyFYIwQoh WCEEq798l0CzDxbuqqio8HoIZiJYIQQrxPxgc273tbi98tn8YL1DtkIIVgjBCiFY/YkcghUE gf3GAQB5sVl9LZ06qUOHJEcDAIAPuFi+8n0MUs+ePT/99FNXhgIAgPlsTvwmkyqZpP0CAOCu fAvwf/zHf/zhD39wZSiAUioej3s9BDMRrBCCFWJmsHZ2/CrZA5/NDFYPZCuEYIUQrBCC1V++ BfiRRx5ZuHDh7Nmzt2/fbvaDf1EYNTU1Xg/BTAQrhGCFmBlszrlfa+JX8i9TM4PVA9kKIVgh BCuEYPXnwh7gTJfM3iLLHmAAgF129v3ypF8AADJwsXxxCjQAADKSSdWuXY7qa8360n4BACiI fAswAABonZ32S+8FAKCAHO4BDoVC1uLnUGaujhNBEYlEvB6CmQhWCMEK8X2w1nlX+rVf3wer MbIVQrBCCFYIwerPYQFOJpPW4udkZi6O8q233ho7dmzPnj07duxYWVn54osvNnvDli1bRo8e XVJSUlJSMnr06K1bt7p1FQU2efJkr4dgJoIVQrBC/B2sxjt+/R2s3shWCMEKIVghBKu/fE+B LoxvfOMbe/bsWbJkSUNDwwsvvDBr1qznn38+dbWhoWHo0KFVVVXxeDwej1dVVQ0bNuzgwYP5 X0XhlZaWej0EMxGsEIIV4uNgNW6/ytfBao9shRCsEIIVQrD6c3ialp0Vzi5OAt9zzz1Tp05N /aEffPDBiBEjNm7caP1y5syZq1evTj9z/MYbbxw0aNCkSZPyvJoFp0ADAE5gp/oq9v0CANBm LpavvJZAJ5PJffv2jRkz5pFHHtm2bduRI0e2bds2ffr0MWPG7N+/35XxWaZNm5Zeufv06ZO+ UHnx4sXjx49Pf//48eMXLVqU/1UUXiwW83oIZiJYIQQrxE/BWtt9bU78Cj/mNyc/Bes3ZCuE YIUQrBCC1V++S6DvvPPOK6644ic/+ckXv/jF9u3bf/GLX7z77ruHDh364x//2JXxter111/v 379/6pfr168fOHBg+hsGDBjw/vvv538VhZdIJLwegpkIVgjBCvFHsOknXdl51pEGE7/+CNaf yFYIwQohWCEEq798p5J79OixefPmrl27pr+4b9++Pn367N27N7+xtW7Pnj2XXHLJ7NmzhwwZ Yr1SXFx84MCBDh06pN5z5MiRk0466dNPP83zahYsgQaAoLP5vAPWPAMAkB/vl0CnHD58uNXX jxw5kuedW7Vz585rr732qaeeSrVfD2V6/tOYMWNS74lGo8uWLbO+3rRpU3V1depSdXX1pk2b rK+XLVsWjUZTl7gDd+AO3IE7aHiHZGq1s/VFTqGQCoWq775bq++CO3AH7sAduAN30PYOBXjC br5N+qqrrho7duxNN92U/uLzzz//6quv/v73v89vbM199NFHI0aMePTRR4cPH57+ellZ2bp1 68rKylKv1NXVVVZW7tixI8+rWTADDADBYvOMq3T8NQEAgBs0mgF+5JFHIpHIzJkzt2/ffuzY se3bt//iF7+47777HnnkEVfGl7J9+/ZrrrlmxowZzdqvUqpfv35r165Nf2XdunV9+/bN/yoK LxwOez0EMxGsEIIVol2wDtqvq/9c7RbtgjUI2QohWCEEK4Rg9edCk964ceP//M//LF26NJFI lJaWXnHFFT/72c++8pWvuDI+y86dO6+44oqHH374m9/8ZsurM2bMeO+995o9yujCCy+84447 8ryaBTPAABAUbWq/7PgFAMBtLpYvf7S4ysrKKVOmXH/99a1e3b9//8CBAydMmDBx4kSl1NNP Pz1nzpy1a9d26dIlz6tZUIABIBB4ui8AAF7TaAl0YaxZs2bcuHHNdkKnTpnu2rXr8uXLV65c WV5eXl5evmrVqtra2lSDzecqACC40p9y1FL6Cmc9HnEEAABy8kcBTrbmlFNOSb3htNNO++1v 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 X/t/R0ceSbv58+dv3759+/bteXl5sc88derUNddcc+211/7iF79Q7RIAAGlEAQwAgIkyUO62 c/DgweLi4vXr10+aNCmR8999992vfvWrBw4c6N+/v3bfAABIC26BBgDAOPbdzr6/Cz9ov2ho aFi4cGHfvn0vvPDCBx544OzZs42NjQsWLLjwwgt79+793e9+9+zZs6Gr/dd//de4cePy8/OH DBny85//PNoPXbly5fjx48Or32PHjt13333FxcXdunW78MILb7rppjVr1oRaJ0+ePG7cuFde eSW9nx0AAD0UwAAAGMee+7X+LvKEe++9d9q0aZ9//vmHH364c+fOp556atGiRTfddNPBgwc/ /PDD//7v//7xj39sn/nBBx/ccccd//zP/3z8+PE33nhj6dKla9eu7fCHrlu3bt68eeFH7rzz zp49e7733nunTp369NNPFy9e/Oyzz4afMH/+/HfeeSc9nxkAAH3cAg0AgIlirAH2+XzV1dUL Fy60j2/btu3GG29ctmxZ6MjWrVu//e1vf/jhhyIya9asSZMm3XfffXZTXV3df/zHf6xbty7y J1500UXvvvvuZZddFjqSm5t74sSJ/Pz8aJ385JNPpk2btn///pQ+KgAAmUIBDACAiWIXwIcP Hy4sLLSPnzp1qnv37u2O9O7d+9SpUyIycODAP/3pT8XFxXZTU1PTRRdddOzYscif2K1bt6am ptzc3NCR0aNHX3vttQ8//PBXvvKVDjt5+vTpnj17nj59OtVPCwBARnALNAAA2SdU64qIPUPb 7khLS4v9+siRI0OGDAktJ+7Zs+fx48cT/CmrVq36/PPPL7300pKSknnz5r322mvBYDB9HwIA gEyjAAYAwM169+599OhRK0y0InbgwIHtbma+/PLL16xZc/z48ZUrV06YMOGpp56aP39++Amf ffbZwIEDFXsPAEBaUQADAGCiLl26tLa2pn6dKVOmrF69OpEzR44cuWnTpsjjeXl5o0aNuvvu u995553f/va34U0bN24cOXJk6p0EACAzKIABADDRJZdc8vbbb6e+Vccjjzzy0EMPvfLKK01N TU1NTfX19bfeemuHZ06fPr22tjb8yKRJk2praz///PPW1tZAIPD0009PmTIl/IRf//rX06dP T7GHAABkDAUwAAAmWrp06aJFi7p06RJ6/G9yhg8fvmbNml/96leDBg0qKip67LHHvvOd73R4 5uzZszdt2rR58+bQkX/7t397/fXXr7766ry8vGuuuebYsWMrVqwItW7cuPH999+fPXt2Kt0D ACCT2AUaAAC0mT9//s6dO7dt2xa+F3SHWlpaxowZc8011/zyl7/MSNcAAEgDCmAAANDm008/ LSkp+fa3v/3CCy/EPvOee+755S9/+fHHHw8dOjQzfQMAIHUUwAAAAAAAT2ANMAAAAADAEyiA AQAAAACeQAEMAAAAAPAECmAAAAAAgCf8f5AJ5NJfBfqiAAAAAElFTkSuQmCC --ibTvN161/egqYuK8-- -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx124.postini.com [74.125.245.124]) by kanga.kvack.org (Postfix) with SMTP id E02666B13F0 for ; Mon, 13 Feb 2012 10:43:16 -0500 (EST) Date: Mon, 13 Feb 2012 16:43:13 +0100 From: Jan Kara Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120213154313.GD6478@quack.suse.cz> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120212031029.GA17435@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Rik van Riel , Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Sun 12-02-12 11:10:29, Wu Fengguang wrote: > On Sat, Feb 11, 2012 at 09:55:38AM -0500, Rik van Riel wrote: > > On 02/11/2012 07:44 AM, Wu Fengguang wrote: > > > > >Note that it's data for XFS. ext4 seems to have some problem with the > > >workload: the majority pages are found to be writeback pages, and the > > >flusher ends up blocking on the unconditional wait_on_page_writeback() > > >in write_cache_pages_da() from time to time... > > Sorry I overlooked the WB_SYNC_NONE test before the wait_on_page_writeback() > call! And the issue can no longer be reproduce anyway. ext4 performs pretty > good now, here is the result for one single memcg dd: > > dd if=/dev/zero of=/fs/f$i bs=4k count=1M > > 4294967296 bytes (4.3 GB) copied, 44.5759 s, 96.4 MB/s > > iostat -kx 3 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.25 0.00 11.03 28.54 0.00 60.19 > 0.25 0.00 13.71 16.65 0.00 69.39 > 0.17 0.00 8.41 24.81 0.00 66.61 > 0.25 0.00 15.00 19.63 0.00 65.12 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 17.00 0.00 178.33 0.00 90694.67 1017.14 111.34 520.88 5.45 97.23 > sda 0.00 0.00 0.00 193.67 0.00 98816.00 1020.48 86.22 496.81 4.81 93.07 > sda 0.00 3.33 0.00 182.33 0.00 92345.33 1012.93 101.14 623.98 5.49 100.03 > sda 0.00 3.00 0.00 187.00 0.00 95586.67 1022.32 89.36 441.70 4.96 92.70 > > > >XXX: commit NFS unstable pages via write_inode() > > >XXX: the added congestion_wait() may be undesirable in some situations > > > > Even with these caveats, this seems to be the right way forward. > > > Acked-by: Rik van Riel > > Thank you! > > Here is the updated patch. > - ~10ms write around chunk size, adaptive to the bdi bandwith > - cleanup flush_inode_page() > > Thanks, > Fengguang > --- > Subject: writeback: introduce the pageout work > Date: Thu Jul 29 14:41:19 CST 2010 > > This relays file pageout IOs to the flusher threads. > > The ultimate target is to gracefully handle the LRU lists full of > dirty/writeback pages. > > 1) I/O efficiency > > The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. > > This takes advantage of the time/spacial locality in most workloads: the > nearby pages of one file are typically populated into the LRU at the same > time, hence will likely be close to each other in the LRU list. Writing > them in one shot helps clean more pages effectively for page reclaim. > > 2) OOM avoidance and scan rate control > > Typically we do LRU scan w/o rate control and quickly get enough clean > pages for the LRU lists not full of dirty pages. > > Or we can still get a number of freshly cleaned pages (moved to LRU tail > by end_page_writeback()) when the queued pageout I/O is completed within > tens of milli-seconds. > > However if the LRU list is small and full of dirty pages, it can be > quickly fully scanned and go OOM before the flusher manages to clean > enough pages. > > A simple yet reliable scheme is employed to avoid OOM and keep scan rate > in sync with the I/O rate: > > if (PageReclaim(page)) > congestion_wait(HZ/10); > > PG_reclaim plays the key role. When dirty pages are encountered, we > queue I/O for it, set PG_reclaim and put it back to the LRU head. > So if PG_reclaim pages are encountered again, it means the dirty page > has not yet been cleaned by the flusher after a full zone scan. It > indicates we are scanning more fast than I/O and shall take a snap. > > The runtime behavior on a fully dirtied small LRU list would be: > It will start with a quick scan of the list, queuing all pages for I/O. > Then the scan will be slowed down by the PG_reclaim pages *adaptively* > to match the I/O bandwidth. > > 3) writeback work coordinations > > To avoid memory allocations at page reclaim, a mempool for struct > wb_writeback_work is created. > > wakeup_flusher_threads() is removed because it can easily delay the > more oriented pageout works and even exhaust the mempool reservations. > It's also found to not I/O efficient by frequently submitting writeback > works with small ->nr_pages. > > Background/periodic works will quit automatically, so as to clean the > pages under reclaim ASAP. However for now the sync work can still block > us for long time. > > Jan Kara: limit the search scope. Note that the limited search and work > pool is not a big problem: 1000 IOs under flight are typically more than > enough to saturate the disk. And the overheads of searching in the work > list didn't even show up in the perf report. > > 4) test case > > Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): > > mkdir /cgroup/x > echo 100M > /cgroup/x/memory.limit_in_bytes > echo $$ > /cgroup/x/tasks > > for i in `seq 2` > do > dd if=/dev/zero of=/fs/f$i bs=1k count=1M & > done > > Before patch, the dd tasks are quickly OOM killed. > After patch, they run well with reasonably good performance and overheads: > > 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s > 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s I wonder what happens if you run: mkdir /cgroup/x echo 100M > /cgroup/x/memory.limit_in_bytes echo $$ > /cgroup/x/tasks for (( i = 0; i < 2; i++ )); do mkdir /fs/d$i for (( j = 0; j < 5000; j++ )); do dd if=/dev/zero of=/fs/d$i/f$j bs=1k count=50 done & done Because for small files the writearound logic won't help much... Also the number of work items queued might become interesting. Another common case to test - run 'slapadd' command in each cgroup to create big LDAP database. That does pretty much random IO on a big mmaped DB file. > +/* > + * schedule writeback on a range of inode pages. > + */ > +static struct wb_writeback_work * > +bdi_flush_inode_range(struct backing_dev_info *bdi, > + struct inode *inode, > + pgoff_t offset, > + pgoff_t len, > + bool wait) > +{ > + struct wb_writeback_work *work; > + > + if (!igrab(inode)) > + return ERR_PTR(-ENOENT); One technical note here: If the inode is deleted while it is queued, this reference will keep it living until flusher thread gets to it. Then when flusher thread puts its reference, the inode will get deleted in flusher thread context. I don't see an immediate problem in that but it might be surprising sometimes. Another problem I see is that if you try to unmount the filesystem while the work item is queued, you'll get EBUSY for no apparent reason (for userspace). Honza -- Jan Kara SUSE Labs, CR -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx183.postini.com [74.125.245.183]) by kanga.kvack.org (Postfix) with SMTP id B20626B13F0 for ; Mon, 13 Feb 2012 13:40:41 -0500 (EST) Received: by qcsd16 with SMTP id d16so3631929qcs.14 for ; Mon, 13 Feb 2012 10:40:40 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20120209135043.GA7620@localhost> References: <20120208093120.GA18993@localhost> <20120209135043.GA7620@localhost> Date: Mon, 13 Feb 2012 10:40:40 -0800 Message-ID: Subject: Re: memcg writeback (was Re: [Lsf-pc] [LSF/MM TOPIC] memcg topics.) From: Ying Han Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , "hannes@cmpxchg.org" , lsf-pc@lists.linux-foundation.org, KAMEZAWA Hiroyuki On Thu, Feb 9, 2012 at 5:50 AM, Wu Fengguang wrote= : > On Wed, Feb 08, 2012 at 12:54:33PM -0800, Ying Han wrote: >> On Wed, Feb 8, 2012 at 1:31 AM, Wu Fengguang wr= ote: >> > On Tue, Feb 07, 2012 at 11:55:05PM -0800, Greg Thelen wrote: >> >> On Fri, Feb 3, 2012 at 1:40 AM, Wu Fengguang = wrote: >> >> > If moving dirty pages out of the memcg to the 20% global dirty page= s >> >> > pool on page reclaim, the above OOM can be avoided. It does change = the >> >> > meaning of memory.limit_in_bytes in that the memcg tasks can now >> >> > actually consume more pages (up to the shared global 20% dirty limi= t). >> >> >> >> This seems like an easy change, but unfortunately the global 20% pool >> >> has some shortcomings for my needs: >> >> >> >> 1. the global 20% pool is not moderated. =A0One cgroup can dominate i= t >> >> =A0 =A0 and deny service to other cgroups. >> > >> > It is moderated by balance_dirty_pages() -- in terms of dirty ratelimi= t. >> > And you have the freedom to control the bandwidth allocation with some >> > async write I/O controller. >> > >> > Even though there is no direct control of dirty pages, we can roughly >> > get it as the side effect of rate control. Given >> > >> > =A0 =A0 =A0 =A0ratelimit_cgroup_A =3D 2 * ratelimit_cgroup_B >> > >> > There will naturally be more dirty pages for cgroup A to be worked by >> > the flusher. And the dirty pages will be roughly balanced around >> > >> > =A0 =A0 =A0 =A0nr_dirty_cgroup_A =3D 2 * nr_dirty_cgroup_B >> > >> > when writeout bandwidths for their dirty pages are equal. >> > >> >> 2. the global 20% pool is free, unaccounted memory. =A0Ideally cgroup= s only >> >> =A0 =A0 use the amount of memory specified in their memory.limit_in_b= ytes. =A0The >> >> =A0 =A0 goal is to sell portions of a system. =A0Global resource like= the 20% are an >> >> =A0 =A0 undesirable system-wide tax that's shared by jobs that may no= t even >> >> =A0 =A0 perform buffered writes. >> > >> > Right, it is the shortcoming. >> > >> >> 3. Setting aside 20% extra memory for system wide dirty buffers is a = lot of >> >> =A0 =A0 memory. =A0This becomes a larger issue when the global dirty_= ratio is >> >> =A0 =A0 higher than 20%. >> > >> > Yeah the global pool scheme does mean that you'd better allocate at >> > most 80% memory to individual memory cgroups, otherwise it's possible >> > for a tiny memcg doing dd writes to push dirty pages to global LRU and >> > *squeeze* the size of other memcgs. >> > >> > However I guess it should be mitigated by the fact that >> > >> > - we typically already reserve some space for the root memcg >> >> Can you give more details on that? AFAIK, we don't treat root cgroup >> differently than other sub-cgroups, except root cgroup doesn't have >> limit. > > OK. I'd imagine this to be the typical usage for desktop and quite a > few servers: a few cgroups are employed to limit the resource usage > for selected tasks (such as backups, background GUI tasks, cron tasks, > etc.). These systems are still running mainly in the global context. The use case makes senses, but still not sure about the "reservation for root" part. For other tasks not running under cgroups, they runs under global context as you said. However, there is no memory limit for root cgroup and it will only trigger global reclaim when running short of memory. It doesn't sounds like a straight-forward configuration for environments requires memory isolation badly. The worst part is the unpredictability, which we don't have control of how much dirty-and-later-clean pages being leaked to root and stays. --Ying > >> In general, I don't like the idea of shared pool in root for all the >> dirty pages. >> >> Imagining a system which has nothing running under root and every >> application runs within sub-cgroup. It is easy to track and limit each >> cgroup's memory usage, but not the pages being moved to root. We have >> been experiencing difficulties of tracking pages being re-parented to >> root, and this will make it even harder. > > So you want to push memcg allocations to the hardware limits. This is > a worthwhile target for cloud servers that run a number of well > contained jobs. > > I guess it can be achieved reasonably well with the global shared > dirty pool. =A0Let's discuss the two major cases. > > 1) no change of behavior > > For example, when the system memory is divided equally to 10 cgroups > each running 1 dd. In this case, the dirty pages will be contained > within the memcg LRUs. Page reclaim rarely encounters any dirty pages. > There is no moving to the global LRU, so no side effect at all. > > 2) small memcg squeezing other memcg(s) > > When system memory is divided to 1 small memcg A and 1 large memcg B, > each running a dd task. In this case the dirty pages from A will be > moved to the global LRU, and global page reclaims will be triggered. > > In the end it will be balanced around > > - global LRU: 10% memory (which are A's dirty pages) > - memcg B: 90% memory > - memcg A: a tiny ignorable fraction of memory > > Now job B uses 10% less memory than w/o the global dirty pool scheme. > I guess this is bad for some type of jobs. > > However my question is, will the typical demand be more flexible? > Something like the "minimal" and "recommended" setup: "this job > requires at least XXX memory and better at YYY memory", rather than > some fixed size memory allocation. > > The minimal requirement should be trivially satisfied by adding a > memcg watermark that protects the memcg LRU from being reclaimed > when dropped under it. > > Then the cloud server could be configured to > > =A0 =A0 =A0 =A0sum(memcg.limit_in_bytes) / memtotal =3D 100% > =A0 =A0 =A0 =A0sum(memcg.minimal_size) =A0 / memtotal < 100% - dirty_rati= o > > Which makes a simple and flexibly partitioned system. > > Thanks, > Fengguang > >> > - 20% dirty ratio is mostly an overkill for large memory systems. >> > =A0It's often enough to hold 10-30s worth of dirty data for them, whic= h >> > =A0is 1-3GB for one 100MB/s disk. This is the reason vm.dirty_bytes is >> > =A0introduced: someone wants to do some <1% dirty ratio. >> > >> > Thanks, >> > Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx102.postini.com [74.125.245.102]) by kanga.kvack.org (Postfix) with SMTP id 7B8F16B13F0 for ; Tue, 14 Feb 2012 05:13:59 -0500 (EST) Date: Tue, 14 Feb 2012 18:03:48 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214100348.GA7000@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="AhhlLboLdkugWU4S" Content-Disposition: inline In-Reply-To: <20120213154313.GD6478@quack.suse.cz> Sender: owner-linux-mm@kvack.org List-ID: To: Jan Kara Cc: Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Feb 13, 2012 at 04:43:13PM +0100, Jan Kara wrote: > On Sun 12-02-12 11:10:29, Wu Fengguang wrote: > > 4) test case > > > > Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): > > > > mkdir /cgroup/x > > echo 100M > /cgroup/x/memory.limit_in_bytes > > echo $$ > /cgroup/x/tasks > > > > for i in `seq 2` > > do > > dd if=/dev/zero of=/fs/f$i bs=1k count=1M & > > done > > > > Before patch, the dd tasks are quickly OOM killed. > > After patch, they run well with reasonably good performance and overheads: > > > > 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s > > 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s > I wonder what happens if you run: > mkdir /cgroup/x > echo 100M > /cgroup/x/memory.limit_in_bytes > echo $$ > /cgroup/x/tasks > > for (( i = 0; i < 2; i++ )); do > mkdir /fs/d$i > for (( j = 0; j < 5000; j++ )); do > dd if=/dev/zero of=/fs/d$i/f$j bs=1k count=50 > done & > done That's a very good case, thanks! > Because for small files the writearound logic won't help much... Right, it also means the native background work cannot be more I/O efficient than the pageout works, except for the overheads of more work items.. > Also the number of work items queued might become interesting. It turns out that the 1024 mempool reservations are not exhausted at all (the below patch as a trace_printk on alloc failure and it didn't trigger at all). Here is the representative iostat lines on XFS (full "iostat -kx 1 20" log attached): avg-cpu: %user %nice %system %iowait %steal %idle 0.80 0.00 6.03 0.03 0.00 93.14 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 205.00 0.00 163.00 0.00 16900.00 207.36 4.09 21.63 1.88 30.70 The attached dirtied/written progress graph looks interesting. Although the iostat disk utilization is low, the "dirtied" progress line is pretty straight and there is no single congestion_wait event in the trace log. Which makes me wonder if there are some unknown blocking issues in the way. > Another common case to test - run 'slapadd' command in each cgroup to > create big LDAP database. That does pretty much random IO on a big mmaped > DB file. I've not used this. Will it need some configuration and data feed? fio looks more handy to me for emulating mmap random IO. > > +/* > > + * schedule writeback on a range of inode pages. > > + */ > > +static struct wb_writeback_work * > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > + struct inode *inode, > > + pgoff_t offset, > > + pgoff_t len, > > + bool wait) > > +{ > > + struct wb_writeback_work *work; > > + > > + if (!igrab(inode)) > > + return ERR_PTR(-ENOENT); > One technical note here: If the inode is deleted while it is queued, this > reference will keep it living until flusher thread gets to it. Then when > flusher thread puts its reference, the inode will get deleted in flusher > thread context. I don't see an immediate problem in that but it might be > surprising sometimes. Another problem I see is that if you try to > unmount the filesystem while the work item is queued, you'll get EBUSY for > no apparent reason (for userspace). Yeah, we need to make umount work. And I find the pageout works seem to have some problems with ext4. For example, this can be easily triggered with 10 dd tasks running inside the 100MB limited memcg: [18006.858109] INFO: task jbd2/sda1-8:51294 blocked for more than 120 seconds. [18006.866425] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [18006.876096] jbd2/sda1-8 D 0000000000000000 5464 51294 2 0x00000000 [18006.884729] ffff88040b097c70 0000000000000046 ffff880823032310 ffff88040b096000 [18006.894356] 00000000001d2f00 00000000001d2f00 ffff8808230322a0 00000000001d2f00 [18006.904000] ffff88040b097fd8 00000000001d2f00 ffff88040b097fd8 00000000001d2f00 [18006.913652] Call Trace: [18006.916901] [] ? native_sched_clock+0x29/0x70 [18006.924134] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 [18006.933324] [] ? local_clock+0x41/0x5a [18006.939879] [] ? lock_release_holdtime+0xa3/0xac [18006.947410] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 [18006.956607] [] schedule+0x5a/0x5c [18006.962677] [] jbd2_journal_commit_transaction+0x1d5/0x1281 [18006.971683] [] ? native_sched_clock+0x29/0x70 [18006.978933] [] ? try_to_del_timer_sync+0xba/0xc8 [18006.986452] [] ? local_clock+0x41/0x5a [18006.992999] [] ? wake_up_bit+0x2a/0x2a [18006.999542] [] ? try_to_del_timer_sync+0xba/0xc8 [18007.007062] [] ? del_timer_sync+0xbb/0xce [18007.013898] [] ? process_timeout+0x10/0x10 [18007.020835] [] kjournald2+0xcf/0x242 [18007.027187] [] ? wake_up_bit+0x2a/0x2a [18007.033733] [] ? commit_timeout+0x10/0x10 [18007.040574] [] kthread+0x95/0x9d [18007.046542] [] kernel_thread_helper+0x4/0x10 [18007.053675] [] ? retint_restore_args+0x13/0x13 [18007.061003] [] ? __init_kthread_worker+0x5b/0x5b [18007.068521] [] ? gs_change+0x13/0x13 [18007.074878] no locks held by jbd2/sda1-8/51294. Sometimes I also catch dd/ext4lazyinit/flush all stalling in start_this_handle: [17985.439567] dd D 0000000000000007 3616 61440 1 0x00000004 [17985.448088] ffff88080d71b9b8 0000000000000046 ffff88081ec80070 ffff88080d71a000 [17985.457545] 00000000001d2f00 00000000001d2f00 ffff88081ec80000 00000000001d2f00 [17985.467168] ffff88080d71bfd8 00000000001d2f00 ffff88080d71bfd8 00000000001d2f00 [17985.476647] Call Trace: [17985.479843] [] ? native_sched_clock+0x29/0x70 [17985.487025] [] ? start_this_handle+0x357/0x4ed [17985.494313] [] ? local_clock+0x41/0x5a [17985.500815] [] ? lock_release_holdtime+0xa3/0xac [17985.508287] [] ? start_this_handle+0x357/0x4ed [17985.515575] [] schedule+0x5a/0x5c [17985.521588] [] start_this_handle+0x3f3/0x4ed [17985.528669] [] ? kmem_cache_free+0xfa/0x13a [17985.545142] [] ? wake_up_bit+0x2a/0x2a [17985.551650] [] jbd2__journal_start+0xb0/0xf6 [17985.558732] [] ? ext4_dirty_inode+0x1d/0x4c [17985.565716] [] jbd2_journal_start+0x13/0x15 [17985.572703] [] ext4_journal_start_sb+0x13f/0x157 [17985.580172] [] ? local_clock+0x41/0x5a [17985.586680] [] ext4_dirty_inode+0x1d/0x4c [17985.593472] [] __mark_inode_dirty+0x2e/0x1cc [17985.600552] [] file_update_time+0xe4/0x106 [17985.607441] [] __generic_file_aio_write+0x254/0x364 [17985.615202] [] ? mutex_lock_nested+0x2e4/0x2f3 [17985.622488] [] ? generic_file_aio_write+0x4a/0xc1 [17985.630057] [] generic_file_aio_write+0x66/0xc1 [17985.637442] [] ext4_file_write+0x1f9/0x251 [17985.644330] [] ? local_clock+0x41/0x5a [17985.650835] [] ? fsnotify+0x222/0x27b [17985.657238] [] do_sync_write+0xce/0x10b [17985.663844] [] ? fsnotify+0x222/0x27b [17985.670243] [] ? fsnotify+0x7c/0x27b [17985.676561] [] vfs_write+0xb8/0x157 [17985.682767] [] sys_write+0x4d/0x77 [17985.688878] [] system_call_fastpath+0x16/0x1b and jbd2 in [17983.623657] jbd2/sda1-8 D 0000000000000000 5464 51294 2 0x00000000 [17983.632173] ffff88040b097c70 0000000000000046 ffff880823032310 ffff88040b096000 [17983.641640] 00000000001d2f00 00000000001d2f00 ffff8808230322a0 00000000001d2f00 [17983.651119] ffff88040b097fd8 00000000001d2f00 ffff88040b097fd8 00000000001d2f00 [17983.660603] Call Trace: [17983.663808] [] ? native_sched_clock+0x29/0x70 [17983.670997] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 [17983.680124] [] ? local_clock+0x41/0x5a [17983.686638] [] ? lock_release_holdtime+0xa3/0xac [17983.694108] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 [17983.703243] [] schedule+0x5a/0x5c [17983.709262] [] jbd2_journal_commit_transaction+0x1d5/0x1281 [17983.718195] [] ? native_sched_clock+0x29/0x70 [17983.725392] [] ? try_to_del_timer_sync+0xba/0xc8 [17983.732867] [] ? local_clock+0x41/0x5a [17983.739374] [] ? wake_up_bit+0x2a/0x2a [17983.745864] [] ? try_to_del_timer_sync+0xba/0xc8 [17983.753343] [] ? del_timer_sync+0xbb/0xce [17983.760137] [] ? process_timeout+0x10/0x10 [17983.767041] [] kjournald2+0xcf/0x242 [17983.773361] [] ? wake_up_bit+0x2a/0x2a [17983.779863] [] ? commit_timeout+0x10/0x10 [17983.786665] [] kthread+0x95/0x9d [17983.792585] [] kernel_thread_helper+0x4/0x10 [17983.799670] [] ? retint_restore_args+0x13/0x13 [17983.806948] [] ? __init_kthread_worker+0x5b/0x5b Here is the updated patch used in the new tests. It moves congestion_wait() out of the page lock and make flush_inode_page() no longer wait for memory allocation (looks unnecessary). Thanks, Fengguang --- Subject: writeback: introduce the pageout work Date: Thu Jul 29 14:41:19 CST 2010 This relays file pageout IOs to the flusher threads. The ultimate target is to gracefully handle the LRU lists full of dirty/writeback pages. 1) I/O efficiency The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. This takes advantage of the time/spacial locality in most workloads: the nearby pages of one file are typically populated into the LRU at the same time, hence will likely be close to each other in the LRU list. Writing them in one shot helps clean more pages effectively for page reclaim. 2) OOM avoidance and scan rate control Typically we do LRU scan w/o rate control and quickly get enough clean pages for the LRU lists not full of dirty pages. Or we can still get a number of freshly cleaned pages (moved to LRU tail by end_page_writeback()) when the queued pageout I/O is completed within tens of milli-seconds. However if the LRU list is small and full of dirty pages, it can be quickly fully scanned and go OOM before the flusher manages to clean enough pages. A simple yet reliable scheme is employed to avoid OOM and keep scan rate in sync with the I/O rate: if (PageReclaim(page)) congestion_wait(HZ/10); PG_reclaim plays the key role. When dirty pages are encountered, we queue I/O for it, set PG_reclaim and put it back to the LRU head. So if PG_reclaim pages are encountered again, it means the dirty page has not yet been cleaned by the flusher after a full zone scan. It indicates we are scanning more fast than I/O and shall take a snap. The runtime behavior on a fully dirtied small LRU list would be: It will start with a quick scan of the list, queuing all pages for I/O. Then the scan will be slowed down by the PG_reclaim pages *adaptively* to match the I/O bandwidth. 3) writeback work coordinations To avoid memory allocations at page reclaim, a mempool for struct wb_writeback_work is created. wakeup_flusher_threads() is removed because it can easily delay the more oriented pageout works and even exhaust the mempool reservations. It's also found to not I/O efficient by frequently submitting writeback works with small ->nr_pages. Background/periodic works will quit automatically, so as to clean the pages under reclaim ASAP. However for now the sync work can still block us for long time. Jan Kara: limit the search scope. Note that the limited search and work pool is not a big problem: 1000 IOs under flight are typically more than enough to saturate the disk. And the overheads of searching in the work list didn't even show up in the perf report. 4) test case Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): mkdir /cgroup/x echo 100M > /cgroup/x/memory.limit_in_bytes echo $$ > /cgroup/x/tasks for i in `seq 2` do dd if=/dev/zero of=/fs/f$i bs=1k count=1M & done Before patch, the dd tasks are quickly OOM killed. After patch, they run well with reasonably good performance and overheads: 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s iostat -kx 1 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 15.08 33.92 0.00 50.75 0.25 0.00 14.54 35.09 0.00 50.13 0.50 0.00 13.57 32.41 0.00 53.52 0.50 0.00 11.28 36.84 0.00 51.38 0.50 0.00 15.75 32.00 0.00 51.75 0.50 0.00 10.50 34.00 0.00 55.00 0.50 0.00 17.63 27.46 0.00 54.41 0.50 0.00 15.08 30.90 0.00 53.52 0.50 0.00 11.28 32.83 0.00 55.39 0.75 0.00 16.79 26.82 0.00 55.64 0.50 0.00 16.08 29.15 0.00 54.27 0.50 0.00 13.50 30.50 0.00 55.50 0.50 0.00 14.32 35.18 0.00 50.00 0.50 0.00 12.06 33.92 0.00 53.52 0.50 0.00 17.29 30.58 0.00 51.63 0.50 0.00 15.08 29.65 0.00 54.77 0.50 0.00 12.53 29.32 0.00 57.64 0.50 0.00 15.29 31.83 0.00 52.38 The global dd numbers for comparison: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 11.22 52.30 0.00 35.97 0.25 0.00 10.15 52.54 0.00 37.06 0.25 0.00 5.01 56.64 0.00 38.10 0.51 0.00 15.15 43.94 0.00 40.40 0.25 0.00 12.12 48.23 0.00 39.39 0.51 0.00 11.20 53.94 0.00 34.35 0.26 0.00 9.72 51.41 0.00 38.62 0.76 0.00 9.62 50.63 0.00 38.99 0.51 0.00 10.46 53.32 0.00 35.71 0.51 0.00 9.41 51.91 0.00 38.17 0.25 0.00 10.69 49.62 0.00 39.44 0.51 0.00 12.21 52.67 0.00 34.61 0.51 0.00 11.45 53.18 0.00 34.86 XXX: commit NFS unstable pages via write_inode() XXX: the added congestion_wait() may be undesirable in some situations CC: Jan Kara CC: Mel Gorman Acked-by: Rik van Riel CC: Greg Thelen CC: Minchan Kim Signed-off-by: Wu Fengguang --- fs/fs-writeback.c | 169 ++++++++++++++++++++++++++++- include/linux/writeback.h | 4 include/trace/events/writeback.h | 12 +- mm/vmscan.c | 35 ++++-- 4 files changed, 202 insertions(+), 18 deletions(-) - move congestion_wait() out of the page lock: it's blocking btrfs lock_delalloc_pages() --- linux.orig/mm/vmscan.c 2012-02-12 21:27:28.000000000 +0800 +++ linux/mm/vmscan.c 2012-02-13 12:14:20.000000000 +0800 @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st struct scan_control *sc, int priority, unsigned long *ret_nr_dirty, - unsigned long *ret_nr_writeback) + unsigned long *ret_nr_writeback, + unsigned long *ret_nr_pgreclaim) { LIST_HEAD(ret_pages); LIST_HEAD(free_pages); @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st unsigned long nr_congested = 0; unsigned long nr_reclaimed = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; cond_resched(); @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st if (PageWriteback(page)) { nr_writeback++; + if (PageReclaim(page)) + nr_pgreclaim++; + else + SetPageReclaim(page); /* * Synchronous reclaim cannot queue pages for * writeback due to the possibility of stack overflow @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st nr_dirty++; /* - * Only kswapd can writeback filesystem pages to - * avoid risk of stack overflow but do not writeback - * unless under significant pressure. + * run into the visited page again: we are scanning + * faster than the flusher can writeout dirty pages */ - if (page_is_file_cache(page) && - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { + if (page_is_file_cache(page) && PageReclaim(page)) { + nr_pgreclaim++; + goto keep_locked; + } + if (page_is_file_cache(page) && mapping && + flush_inode_page(mapping, page, false) >= 0) { /* * Immediately reclaim when written back. * Similar in principal to deactivate_page() @@ -1028,6 +1037,7 @@ keep_lumpy: count_vm_events(PGACTIVATE, pgactivate); *ret_nr_dirty += nr_dirty; *ret_nr_writeback += nr_writeback; + *ret_nr_pgreclaim += nr_pgreclaim; return nr_reclaimed; } @@ -1087,8 +1097,10 @@ int __isolate_lru_page(struct page *page */ if (mode & (ISOLATE_CLEAN|ISOLATE_ASYNC_MIGRATE)) { /* All the caller can do on PageWriteback is block */ - if (PageWriteback(page)) + if (PageWriteback(page)) { + SetPageReclaim(page); return ret; + } if (PageDirty(page)) { struct address_space *mapping; @@ -1509,6 +1521,7 @@ shrink_inactive_list(unsigned long nr_to unsigned long nr_file; unsigned long nr_dirty = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; struct zone *zone = mz->zone; @@ -1559,13 +1572,13 @@ shrink_inactive_list(unsigned long nr_to spin_unlock_irq(&zone->lru_lock); nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, - &nr_dirty, &nr_writeback); + &nr_dirty, &nr_writeback, &nr_pgreclaim); /* Check if we should syncronously wait for writeback */ if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { set_reclaim_mode(priority, sc, true); nr_reclaimed += shrink_page_list(&page_list, mz, sc, - priority, &nr_dirty, &nr_writeback); + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); } spin_lock_irq(&zone->lru_lock); @@ -1608,6 +1621,8 @@ shrink_inactive_list(unsigned long nr_to */ if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); + if (nr_pgreclaim) + congestion_wait(BLK_RW_ASYNC, HZ/10); trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, zone_idx(zone), @@ -2382,8 +2397,6 @@ static unsigned long do_try_to_free_page */ writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; if (total_scanned > writeback_threshold) { - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, - WB_REASON_TRY_TO_FREE_PAGES); sc->may_writepage = 1; } --- linux.orig/fs/fs-writeback.c 2012-02-12 21:27:28.000000000 +0800 +++ linux/fs/fs-writeback.c 2012-02-13 12:15:50.000000000 +0800 @@ -41,6 +41,8 @@ struct wb_writeback_work { long nr_pages; struct super_block *sb; unsigned long *older_than_this; + struct inode *inode; + pgoff_t offset; enum writeback_sync_modes sync_mode; unsigned int tagged_writepages:1; unsigned int for_kupdate:1; @@ -65,6 +67,27 @@ struct wb_writeback_work { */ int nr_pdflush_threads; +static mempool_t *wb_work_mempool; + +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) +{ + /* + * bdi_flush_inode_range() may be called on page reclaim + */ + if (current->flags & PF_MEMALLOC) + return NULL; + + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); +} + +static __init int wb_work_init(void) +{ + wb_work_mempool = mempool_create(1024, + wb_work_alloc, mempool_kfree, NULL); + return wb_work_mempool ? 0 : -ENOMEM; +} +fs_initcall(wb_work_init); + /** * writeback_in_progress - determine whether there is writeback in progress * @bdi: the device's backing_dev_info structure. @@ -129,7 +152,7 @@ __bdi_start_writeback(struct backing_dev * This is WB_SYNC_NONE writeback, so if allocation fails just * wakeup the thread for old dirty data writeback */ - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); if (!work) { if (bdi->wb.task) { trace_writeback_nowork(bdi); @@ -138,6 +161,7 @@ __bdi_start_writeback(struct backing_dev return; } + memset(work, 0, sizeof(*work)); work->sync_mode = WB_SYNC_NONE; work->nr_pages = nr_pages; work->range_cyclic = range_cyclic; @@ -186,6 +210,125 @@ void bdi_start_background_writeback(stru spin_unlock_bh(&bdi->wb_lock); } +static bool extend_writeback_range(struct wb_writeback_work *work, + pgoff_t offset, + unsigned long write_around_pages) +{ + pgoff_t end = work->offset + work->nr_pages; + + if (offset >= work->offset && offset < end) + return true; + + /* + * for sequential workloads with good locality, include up to 8 times + * more data in one chunk + */ + if (work->nr_pages >= 8 * write_around_pages) + return false; + + /* the unsigned comparison helps eliminate one compare */ + if (work->offset - offset < write_around_pages) { + work->nr_pages += write_around_pages; + work->offset -= write_around_pages; + return true; + } + + if (offset - end < write_around_pages) { + work->nr_pages += write_around_pages; + return true; + } + + return false; +} + +/* + * schedule writeback on a range of inode pages. + */ +static struct wb_writeback_work * +bdi_flush_inode_range(struct backing_dev_info *bdi, + struct inode *inode, + pgoff_t offset, + pgoff_t len, + bool wait) +{ + struct wb_writeback_work *work; + + if (!igrab(inode)) + return ERR_PTR(-ENOENT); + + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); + if (!work) { + trace_printk("wb_work_mempool alloc fail\n"); + return ERR_PTR(-ENOMEM); + } + + memset(work, 0, sizeof(*work)); + work->sync_mode = WB_SYNC_NONE; + work->inode = inode; + work->offset = offset; + work->nr_pages = len; + work->reason = WB_REASON_PAGEOUT; + + bdi_queue_work(bdi, work); + + return work; +} + +/* + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to + * improve IO throughput. The nearby pages will have good chance to reside in + * the same LRU list that vmscan is working on, and even close to each other + * inside the LRU list in the common case of sequential read/write. + * + * ret > 0: success, found/reused a previous writeback work + * ret = 0: success, allocated/queued a new writeback work + * ret < 0: failed + */ +long flush_inode_page(struct address_space *mapping, + struct page *page, + bool wait) +{ + struct backing_dev_info *bdi = mapping->backing_dev_info; + struct inode *inode = mapping->host; + struct wb_writeback_work *work; + unsigned long write_around_pages; + pgoff_t offset = page->index; + int i; + long ret = 0; + + if (unlikely(!inode)) + return -ENOENT; + + /* + * piggy back 8-15ms worth of data + */ + write_around_pages = bdi->avg_write_bandwidth + MIN_WRITEBACK_PAGES; + write_around_pages = rounddown_pow_of_two(write_around_pages) >> 6; + + i = 1; + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_reverse(work, &bdi->work_list, list) { + if (work->inode != inode) + continue; + if (extend_writeback_range(work, offset, write_around_pages)) { + ret = i; + break; + } + if (i++ > 100) /* limit search depth */ + break; + } + spin_unlock_bh(&bdi->wb_lock); + + if (!ret) { + offset = round_down(offset, write_around_pages); + work = bdi_flush_inode_range(bdi, inode, + offset, write_around_pages, wait); + if (IS_ERR(work)) + ret = PTR_ERR(work); + } + return ret; +} + /* * Remove the inode from the writeback list it is on. */ @@ -833,6 +976,23 @@ static unsigned long get_nr_dirty_pages( get_nr_dirty_inodes(); } +static long wb_flush_inode(struct bdi_writeback *wb, + struct wb_writeback_work *work) +{ + struct writeback_control wbc = { + .sync_mode = WB_SYNC_NONE, + .nr_to_write = LONG_MAX, + .range_start = work->offset << PAGE_CACHE_SHIFT, + .range_end = (work->offset + work->nr_pages - 1) + << PAGE_CACHE_SHIFT, + }; + + do_writepages(work->inode->i_mapping, &wbc); + iput(work->inode); + + return LONG_MAX - wbc.nr_to_write; +} + static long wb_check_background_flush(struct bdi_writeback *wb) { if (over_bground_thresh(wb->bdi)) { @@ -905,7 +1065,10 @@ long wb_do_writeback(struct bdi_writebac trace_writeback_exec(bdi, work); - wrote += wb_writeback(wb, work); + if (work->inode) + wrote += wb_flush_inode(wb, work); + else + wrote += wb_writeback(wb, work); /* * Notify the caller of completion if this is a synchronous @@ -914,7 +1077,7 @@ long wb_do_writeback(struct bdi_writebac if (work->done) complete(work->done); else - kfree(work); + mempool_free(work, wb_work_mempool); } /* --- linux.orig/include/trace/events/writeback.h 2012-02-12 21:27:33.000000000 +0800 +++ linux/include/trace/events/writeback.h 2012-02-12 21:27:34.000000000 +0800 @@ -23,7 +23,7 @@ #define WB_WORK_REASON \ {WB_REASON_BACKGROUND, "background"}, \ - {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \ + {WB_REASON_PAGEOUT, "pageout"}, \ {WB_REASON_SYNC, "sync"}, \ {WB_REASON_PERIODIC, "periodic"}, \ {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \ @@ -45,6 +45,8 @@ DECLARE_EVENT_CLASS(writeback_work_class __field(int, range_cyclic) __field(int, for_background) __field(int, reason) + __field(unsigned long, ino) + __field(unsigned long, offset) ), TP_fast_assign( strncpy(__entry->name, dev_name(bdi->dev), 32); @@ -55,9 +57,11 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->range_cyclic = work->range_cyclic; __entry->for_background = work->for_background; __entry->reason = work->reason; + __entry->ino = work->inode ? work->inode->i_ino : 0; + __entry->offset = work->offset; ), TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " - "kupdate=%d range_cyclic=%d background=%d reason=%s", + "kupdate=%d range_cyclic=%d background=%d reason=%s ino=%lu offset=%lu", __entry->name, MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), __entry->nr_pages, @@ -65,7 +69,9 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->for_kupdate, __entry->range_cyclic, __entry->for_background, - __print_symbolic(__entry->reason, WB_WORK_REASON) + __print_symbolic(__entry->reason, WB_WORK_REASON), + __entry->ino, + __entry->offset ) ); #define DEFINE_WRITEBACK_WORK_EVENT(name) \ --- linux.orig/include/linux/writeback.h 2012-02-12 21:27:28.000000000 +0800 +++ linux/include/linux/writeback.h 2012-02-12 21:27:34.000000000 +0800 @@ -40,7 +40,7 @@ enum writeback_sync_modes { */ enum wb_reason { WB_REASON_BACKGROUND, - WB_REASON_TRY_TO_FREE_PAGES, + WB_REASON_PAGEOUT, WB_REASON_SYNC, WB_REASON_PERIODIC, WB_REASON_LAPTOP_TIMER, @@ -94,6 +94,8 @@ long writeback_inodes_wb(struct bdi_writ enum wb_reason reason); long wb_do_writeback(struct bdi_writeback *wb, int force_wait); void wakeup_flusher_threads(long nr_pages, enum wb_reason reason); +long flush_inode_page(struct address_space *mapping, struct page *page, + bool wait); /* writeback.h requires fs.h; it, too, is not included from here. */ static inline void wait_on_inode(struct inode *inode) --AhhlLboLdkugWU4S Content-Type: image/png Content-Disposition: attachment; filename="global_dirtied_written.png" Content-Transfer-Encoding: base64 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 4a8qXUdpgHXwxBNP3Hfffbq8d8eOHSNGjAicMHz48J07d8ZVH6xKx+T49e3bNzEx8bzzzrv1 1lvff//9uAuERcWUnLvvvnvy5MmbN29ua2tra2urqakpLi6+9957/aNcc1xFx+T4cc1xj3h+ Yfm9++67/m+47LiKjsnx47LjEuGT88ILL1x88cUdfxn+qtJ1lBsJIgv/d6murq5///4nT57U 5b1JSUknTpwInHPixInk5ORY6oVVmJkcn883YcKE11577fjx4wcPHvzzn/+clZW1fft2ibKh nL7JaW9vv+mmmwIv++PHj++4j4hrjpOYmRwf1xxn0Tc8V1555fLlywNfefbZZzsuLFx2nMTM 5Pi47DhIPMk5ePDgkCFD/u///q/jlfBXla6jNMCRhf8n9NOf/nTu3Ll6vZffCk5iZnK6+t// /d/rr78+/BxYk77JmTNnzsCBA1988UWv1+v1el988cWcnJxf/epX/lGuOU5iZnK64ppja/qG Z+PGjX379l2+fHlra2tra+vSpUszMzNTUlL8o1x2nMTM5HTFZce+pJOzf//+MWPGvPTSS4Ev 0gDrL8w/oQMHDvTp0+fgwYN6vbdv37779+8PfGXfvn3nnntuLPXCKsxMTleff/75WWedFU2d sBp9k3PBBRfU1NQEvlJTU5OTk+P/nmuOk5iZnK645tia7r+wXnnllXHjxp111lk9evS44oor li1bxmXHkcxMTldcduxLLjlNTU0jRozo1P36Il1Vuo6yBzguTz755MSJE/v06aPXe4cOHfr2 228HvlJXV5eXlxdXlbAe3ZPTlY9nAziRRHI++eSTgoKCwFfy8/M/+eQT//dcc1xC9+R0xTXH qeR+YY0dO/bll19ubW09evToG2+80bt3729961v+IS47LqF7crrisuNIoZLz6aef3nDDDY8/ /vh3v/vdTkPhrypdR2mA5Z08eXLBggVyO/tDvXf8+PGLFy8OfGXx4sUTJkyQrxLWY0Ryulq+ fPkVV1wh8UfAsuSSM2DAgO3btwe+sm3btv79+/u/55rjBkYkpyuuOY4Uzy+sQH/605+mT5/u /57LjhsYkZyuuOw4T6jkfPbZZ4WFhb/61a+uvvrqru8Kf1XpOsot0JGF+rv017/+9dprr9X3 vZ9//nlOTs6cOXMOHTp06NChX/7ylxdeeGFra2usNcMKzEzO1VdfvWLFin379p06dWrfvn3z 5s3LzMysra2NtWZYgb7J+f3vfz9o0KB169YdPXr06NGjL7zwwgUXXPCHP/zBP8o1x0nMTA7X HIfR/RfWxIkTt2/ffuLEid27d99xxx133nlnxxCXHScxMzlcdpwk1uRccsklzz77bKhPC39V 6TpKAxxS0P8tEThh9OjRa9eu1f29H3/88fe///1evXr16tXr+9//fn19vV4/EcyhJDkbN278 wQ9+cM455yQmJvbr12/q1Knvv/++jj8UTGBcchYtWpSfn9+9e/fu3bvn5+f/5S9/CXwv1xy7 U5IcrjnOYFx4li5dmpeXl5ycfNFFFz3xxBPt7e2B7+WyY3dKksNlxwGkkxP0jS0tLR0Twl9V Oo1qoT4RAAAAAAAnYQ8wAAAAAMAVaIABAAAAAK5AAwwAAAAAcAUaYAAAAACAK9AAAwAAAABc gQYYAAAAAOAKNMAAAAAAAFegAQYAAAAAuAINMAAAAADAFWiAAQAAAACuQAMMAAAAAHAFGmAA AAAAgCvQAAMAAAAAXIEGGAAAAADgCjTAAAAAAABXoAEGAAAAALgCDTAAALakaZrRf8THH3+c kpJSWloacWZpaWlKSkp9fb3RJQEAEA/N5/OprgEAAESgaZ1/ZXd9RXe33357bW1tbW1t9+7d w888fvz4pZdeOnr06P/5n/8xtCQAAOJBAwwAgA2Y0O52sm/fvuzs7A0bNowZMyaa+a+88sr1 11+/d+/evn37Gl0bAAByuAUaAACr89/trH0p8EX/N1988cX06dP79OnTu3fv+++//9SpU62t rdOmTevdu3d6evq999576tSpjk979dVXR40alZKScsEFFyxatCjUH7p06dIrrrgisPttaWm5 5557srOzk5KSevfufe21165du7Zj9Kqrrho1atSyZcv0/dkBANARDTAAAFbnX/v1fanrhLvv vvu73/1uU1PTu+++u3379oqKirvuuuvaa6/dt2/fu++++8477/z3f/+3f+Zbb701adKkBx98 8MiRI88///yvf/3rF154Iegf+tJLL5WUlAS+8sMf/jA1NXXTpk3Hjx//+OOP77vvvt///veB E26//fb169fr8zMDAGAAboEGAMAGwuwB1jStsrJy+vTp/te3bt06duzYJ554ouOVLVu2/PjH P3733XeFEMXFxWPGjLnnnnv8Q9XV1b/97W9feumlrn/i+eef/8orrwwaNKjjleTk5M8//zwl JSVUkR9++OF3v/vdxsbGuH5UAAAMQwMMAIANhG+ADxw4kJGR4X/9+PHjPXr06PRKenr68ePH hRDnnnvu5s2bs7Oz/UNer/f8889vaWnp+icmJSV5vd7k5OSOV/Lz80ePHv2f//mf/fr1C1rk iRMnUlNTT5w4Ee9PCwCAMbgFGgAA2+vodYUQ/hXaTq+0tbX5vz948OAFF1zQsZ04NTX1yJEj Uf4py5cvb2pquvDCC3Nzc0tKSv72t7+dPn1avx8CAADD0QADAOAi6enphw4d8gUI1cSee+65 nW5mHjx48Nq1a48cObJ06dLvfOc7FRUVt99+e+CE+vr6c88918DqAQCIDw0wAAA2kJCQ0N7e Hv/njBs3bvXq1dHMHD58+Ouvv9719e7du48YMeKOO+5Yv379ypUrA4dee+214cOHx18kAAAG oQEGAMAGBg4cuG7duvhP7pg9e/ZDDz20bNkyr9fr9Xo3btx40003BZ153XXXVVVVBb4yZsyY qqqqpqam9vZ2j8fz+OOPjxs3LnDCM888c91118VZIQAAxqEBBgDABn7961/fddddCQkJHY// lTN06NC1a9c+/fTT5513XmZm5i9/+csZM2YEnTl58uTXX3/9zTff7Hjl0Ucffe655y655JLu 3btfeumlLS0tzz77bMfoa6+99s9//nPy5MnxlAcAgKE4BRoAAAR3++23b9++fevWrYFnQQfV 1tY2cuTISy+99KmnnjKlNAAAZNAAAwCA4D7++OPc3Nwf//jHCxYsCD/zzjvvfOqpp957772c nBxzagMAQAINMAAAAADAFdgDDAAAAABwBRpgAAAAAIAr0AADAAAAAFyBBhgAAAAA4Ar/HxVR GBKRoDt5AAAAAElFTkSuQmCC --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=iostat Linux 3.3.0-rc3-flush-page+ (snb) 02/14/2012 _x86_64_ (32 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.05 0.38 0.00 99.54 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.20 33.00 0.05 2.91 0.16 1025.66 694.73 1.50 508.37 6.10 1.80 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.72 0.00 0.00 93.38 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 1.00 0.00 8.00 0.00 16.00 0.00 1.00 1.00 0.10 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.82 0.00 0.00 93.28 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.81 0.00 0.00 93.29 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 5.84 0.00 0.00 93.33 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 5.94 0.00 0.00 93.23 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 370.00 0.00 71.00 0.00 12480.00 351.55 11.17 71.76 3.56 25.30 avg-cpu: %user %nice %system %iowait %steal %idle 0.80 0.00 5.84 0.00 0.00 93.35 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 65.00 0.00 51.00 0.00 13104.00 513.88 2.85 170.22 4.00 20.40 avg-cpu: %user %nice %system %iowait %steal %idle 0.87 0.00 5.93 0.00 0.00 93.20 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 379.00 0.00 134.00 0.00 30004.00 447.82 15.43 116.99 4.11 55.10 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.91 0.00 0.00 93.19 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 133.00 0.00 114.00 0.00 12792.00 224.42 3.20 28.12 2.30 26.20 avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 5.96 0.00 0.00 93.21 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 367.00 0.00 114.00 0.00 24960.00 437.89 12.55 110.12 4.35 49.60 avg-cpu: %user %nice %system %iowait %steal %idle 0.80 0.00 6.03 0.03 0.00 93.14 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 205.00 0.00 163.00 0.00 16900.00 207.36 4.09 21.63 1.88 30.70 avg-cpu: %user %nice %system %iowait %steal %idle 0.87 0.00 5.98 0.00 0.00 93.16 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 219.00 0.00 182.00 0.00 19292.00 212.00 4.42 21.41 1.97 35.80 avg-cpu: %user %nice %system %iowait %steal %idle 0.93 0.00 5.87 0.00 0.00 93.20 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 201.00 0.00 135.00 0.00 21216.00 314.31 6.39 55.44 2.97 40.10 avg-cpu: %user %nice %system %iowait %steal %idle 0.93 0.00 5.99 0.00 0.00 93.08 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 329.00 0.00 166.00 0.00 24336.00 293.20 10.42 58.39 3.19 53.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.80 0.00 5.96 0.00 0.00 93.24 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 258.00 0.00 181.00 0.00 16848.00 186.17 4.01 17.64 1.36 24.70 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.92 0.00 0.00 93.18 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 166.00 0.00 88.00 0.00 20488.00 465.64 6.09 86.72 4.68 41.20 avg-cpu: %user %nice %system %iowait %steal %idle 0.86 0.00 6.05 0.00 0.00 93.08 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 566.00 0.00 194.00 0.00 34528.00 355.96 20.50 78.32 3.16 61.30 avg-cpu: %user %nice %system %iowait %steal %idle 0.86 0.00 5.79 0.00 0.00 93.34 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 12.00 0.00 5616.00 936.00 0.77 506.67 9.58 11.50 avg-cpu: %user %nice %system %iowait %steal %idle 0.90 0.00 5.93 0.00 0.00 93.18 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 259.00 0.00 173.00 0.00 22464.00 259.70 4.79 27.67 2.09 36.10 avg-cpu: %user %nice %system %iowait %steal %idle 0.74 0.00 6.16 0.00 0.00 93.10 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 190.00 0.00 163.00 0.00 18304.00 224.59 3.67 22.50 1.78 29.00 --AhhlLboLdkugWU4S-- -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx148.postini.com [74.125.245.148]) by kanga.kvack.org (Postfix) with SMTP id 59C536B13F1 for ; Tue, 14 Feb 2012 05:19:37 -0500 (EST) Date: Tue, 14 Feb 2012 10:19:31 +0000 From: Mel Gorman Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214101931.GB5938@suse.de> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20120211124445.GA10826@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Sat, Feb 11, 2012 at 08:44:45PM +0800, Wu Fengguang wrote: > > --- linux.orig/mm/vmscan.c 2012-02-03 21:42:21.000000000 +0800 > +++ linux/mm/vmscan.c 2012-02-11 17:28:54.000000000 +0800 > @@ -813,6 +813,8 @@ static unsigned long shrink_page_list(st > > if (PageWriteback(page)) { > nr_writeback++; > + if (PageReclaim(page)) > + congestion_wait(BLK_RW_ASYNC, HZ/10); > /* > * Synchronous reclaim cannot queue pages for > * writeback due to the possibility of stack overflow I didn't look closely at the rest of the patch, I'm just focusing on the congestion_wait part. You called this out yourself but this is in fact really really bad. If this is in place and a user copies a large amount of data to slow storage like a USB stick, the system will stall severely. A parallel streaming reader will certainly have major issues as it will enter page reclaim, find a bunch of dirty USB-backed pages at the end of the LRU (20% of memory potentially) and stall for HZ/10 on each one of them. How badly each process is affected will vary. For the OOM problem, a more reasonable stopgap might be to identify when a process is scanning a memcg at high priority and encountered all PageReclaim with no forward progress and to congestion_wait() if that situation occurs. A preferable way would be to wait until the flusher wakes up a waiter on PageReclaim pages to be written out because we want to keep moving way from congestion_wait() if at all possible. Another possibility would be to relook at LRU_IMMEDIATE but right now it requires a page flag and I haven't devised a way around that. Besides, it would only address the problem of PageREclaim pages being encountered, it would not handle the case where a memcg was filled with PageReclaim pages. -- Mel Gorman SUSE Labs -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx106.postini.com [74.125.245.106]) by kanga.kvack.org (Postfix) with SMTP id F393F6B13F0 for ; Tue, 14 Feb 2012 08:28:19 -0500 (EST) Date: Tue, 14 Feb 2012 21:18:12 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214131812.GA17625@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120214101931.GB5938@suse.de> Sender: owner-linux-mm@kvack.org List-ID: To: Mel Gorman Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Tue, Feb 14, 2012 at 10:19:31AM +0000, Mel Gorman wrote: > On Sat, Feb 11, 2012 at 08:44:45PM +0800, Wu Fengguang wrote: > > > > --- linux.orig/mm/vmscan.c 2012-02-03 21:42:21.000000000 +0800 > > +++ linux/mm/vmscan.c 2012-02-11 17:28:54.000000000 +0800 > > @@ -813,6 +813,8 @@ static unsigned long shrink_page_list(st > > > > if (PageWriteback(page)) { > > nr_writeback++; > > + if (PageReclaim(page)) > > + congestion_wait(BLK_RW_ASYNC, HZ/10); > > /* > > * Synchronous reclaim cannot queue pages for > > * writeback due to the possibility of stack overflow > > I didn't look closely at the rest of the patch, I'm just focusing on the > congestion_wait part. You called this out yourself but this is in fact > really really bad. If this is in place and a user copies a large amount of > data to slow storage like a USB stick, the system will stall severely. A > parallel streaming reader will certainly have major issues as it will enter > page reclaim, find a bunch of dirty USB-backed pages at the end of the LRU > (20% of memory potentially) and stall for HZ/10 on each one of them. How > badly each process is affected will vary. Cannot agree any more the principle...me just want to demonstrate the idea first :-) > For the OOM problem, a more reasonable stopgap might be to identify when > a process is scanning a memcg at high priority and encountered all > PageReclaim with no forward progress and to congestion_wait() if that > situation occurs. A preferable way would be to wait until the flusher > wakes up a waiter on PageReclaim pages to be written out because we want > to keep moving way from congestion_wait() if at all possible. Good points! Below is the more serious page reclaim changes. The dirty/writeback pages may often come close to each other in the LRU list, so the local test during a 32-page scan may still trigger reclaim waits unnecessarily. Some global information on the percent of dirty/writeback pages in the LRU list may help. Anyway the added tests should still be much better than no protection. A global wait queue and reclaim_wait() is introduced. The waiters will be wakeup when pages are rotated by end_page_writeback() or lru drain. I have to say its effectiveness depends on the filesystem... ext4 and btrfs do fluent IO completions, so reclaim_wait() works pretty well: dd-14560 [017] .... 1360.894605: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 dd-14560 [017] .... 1360.904456: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=8000 dd-14560 [017] .... 1360.908293: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 dd-14560 [017] .... 1360.923960: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 dd-14560 [017] .... 1360.927810: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 dd-14560 [017] .... 1360.931656: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 dd-14560 [017] .... 1360.943503: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 dd-14560 [017] .... 1360.953289: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=7000 dd-14560 [017] .... 1360.957177: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 dd-14560 [017] .... 1360.972949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 However XFS does IO completions in very large batches (there may be only several big IO completions in one second). So reclaim_wait() mostly end up waiting to the full HZ/10 timeout: dd-4177 [008] .... 866.367661: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [010] .... 866.567583: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [012] .... 866.767458: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [013] .... 866.867419: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [008] .... 867.167266: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [010] .... 867.367168: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [012] .... 867.818950: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [013] .... 867.918905: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [013] .... 867.971657: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 dd-4177 [013] .... 867.971812: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=0 dd-4177 [008] .... 868.355700: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 dd-4177 [010] .... 868.700515: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > Another possibility would be to relook at LRU_IMMEDIATE but right now it > requires a page flag and I haven't devised a way around that. Besides, > it would only address the problem of PageREclaim pages being encountered, > it would not handle the case where a memcg was filled with PageReclaim pages. I also considered things like LRU_IMMEDIATE, however got no clear idea yet. Since the simple "wait on PG_reclaim" approach appears to work for this memcg dd case, it effectively disables me to think any further ;-) For the single dd inside memcg, ext4 is now working pretty well, with least CPU overheads: (running from another test box, so not directly comparable with old tests) avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 0.85 5.35 0.00 93.77 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 112.00 0.00 57348.00 1024.07 81.66 1045.21 8.93 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.69 4.07 0.00 95.24 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 142.00 0.00 112.00 0.00 56832.00 1014.86 127.94 790.04 8.93 100.00 And xfs a bit less fluent: avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 3.79 2.54 0.00 93.68 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 108.00 0.00 54644.00 1011.93 48.13 1044.83 8.44 91.20 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 3.38 3.88 0.00 92.74 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 105.00 0.00 53156.00 1012.50 128.50 451.90 9.25 97.10 btrfs also looks good: avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 8.05 3.85 0.00 88.10 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 108.00 0.00 53248.00 986.07 88.11 643.99 9.26 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 4.04 2.51 0.00 93.45 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 112.00 0.00 57344.00 1024.00 91.58 998.41 8.93 100.00 Thanks, Fengguang --- --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ void set_bdi_congested(struct backing_dev_info *bdi, int sync); long congestion_wait(int sync, long timeout); long wait_iff_congested(struct zone *zone, int sync, long timeout); +long reclaim_wait(long timeout); +void reclaim_rotated(void); static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) { --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 @@ -873,3 +873,38 @@ out: return ret; } EXPORT_SYMBOL(wait_iff_congested); + +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); + +/** + * reclaim_wait - wait for some pages being rotated to the LRU tail + * @timeout: timeout in jiffies + * + * Wait until @timeout, or when some (typically PG_reclaim under writeback) + * pages rotated to the LRU so that page reclaim can make progress. + */ +long reclaim_wait(long timeout) +{ + long ret; + unsigned long start = jiffies; + DEFINE_WAIT(wait); + + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); + ret = io_schedule_timeout(timeout); + finish_wait(&reclaim_wqh, &wait); + + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), + jiffies_to_usecs(jiffies - start)); + + return ret; +} +EXPORT_SYMBOL(reclaim_wait); + +void reclaim_rotated() +{ + wait_queue_head_t *wqh = &reclaim_wqh; + + if (waitqueue_active(wqh)) + wake_up(wqh); +} + --- linux.orig/mm/swap.c 2012-02-14 19:40:10.000000000 +0800 +++ linux/mm/swap.c 2012-02-14 19:45:13.000000000 +0800 @@ -253,6 +253,7 @@ static void pagevec_move_tail(struct pag pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved); __count_vm_events(PGROTATED, pgmoved); + reclaim_rotated(); } /* --- linux.orig/mm/vmscan.c 2012-02-14 17:53:27.000000000 +0800 +++ linux/mm/vmscan.c 2012-02-14 19:44:11.000000000 +0800 @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st struct scan_control *sc, int priority, unsigned long *ret_nr_dirty, - unsigned long *ret_nr_writeback) + unsigned long *ret_nr_writeback, + unsigned long *ret_nr_pgreclaim) { LIST_HEAD(ret_pages); LIST_HEAD(free_pages); @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st unsigned long nr_congested = 0; unsigned long nr_reclaimed = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; cond_resched(); @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st if (PageWriteback(page)) { nr_writeback++; + if (PageReclaim(page)) + nr_pgreclaim++; + else + SetPageReclaim(page); /* * Synchronous reclaim cannot queue pages for * writeback due to the possibility of stack overflow @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st nr_dirty++; /* - * Only kswapd can writeback filesystem pages to - * avoid risk of stack overflow but do not writeback - * unless under significant pressure. + * run into the visited page again: we are scanning + * faster than the flusher can writeout dirty pages */ - if (page_is_file_cache(page) && - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { + if (page_is_file_cache(page) && PageReclaim(page)) { + nr_pgreclaim++; + goto keep_locked; + } + if (page_is_file_cache(page) && mapping && + flush_inode_page(mapping, page, false) >= 0) { /* * Immediately reclaim when written back. * Similar in principal to deactivate_page() @@ -1028,6 +1037,7 @@ keep_lumpy: count_vm_events(PGACTIVATE, pgactivate); *ret_nr_dirty += nr_dirty; *ret_nr_writeback += nr_writeback; + *ret_nr_pgreclaim += nr_pgreclaim; return nr_reclaimed; } @@ -1087,8 +1097,10 @@ int __isolate_lru_page(struct page *page */ if (mode & (ISOLATE_CLEAN|ISOLATE_ASYNC_MIGRATE)) { /* All the caller can do on PageWriteback is block */ - if (PageWriteback(page)) + if (PageWriteback(page)) { + SetPageReclaim(page); return ret; + } if (PageDirty(page)) { struct address_space *mapping; @@ -1509,6 +1521,7 @@ shrink_inactive_list(unsigned long nr_to unsigned long nr_file; unsigned long nr_dirty = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; struct zone *zone = mz->zone; @@ -1559,13 +1572,13 @@ shrink_inactive_list(unsigned long nr_to spin_unlock_irq(&zone->lru_lock); nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, - &nr_dirty, &nr_writeback); + &nr_dirty, &nr_writeback, &nr_pgreclaim); /* Check if we should syncronously wait for writeback */ if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { set_reclaim_mode(priority, sc, true); nr_reclaimed += shrink_page_list(&page_list, mz, sc, - priority, &nr_dirty, &nr_writeback); + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); } spin_lock_irq(&zone->lru_lock); @@ -1608,6 +1621,8 @@ shrink_inactive_list(unsigned long nr_to */ if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority))) + reclaim_wait(HZ/10); trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, zone_idx(zone), @@ -2382,8 +2397,6 @@ static unsigned long do_try_to_free_page */ writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; if (total_scanned > writeback_threshold) { - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, - WB_REASON_TRY_TO_FREE_PAGES); sc->may_writepage = 1; } -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx127.postini.com [74.125.245.127]) by kanga.kvack.org (Postfix) with SMTP id D731E6B13F0 for ; Tue, 14 Feb 2012 08:29:53 -0500 (EST) Date: Tue, 14 Feb 2012 14:29:50 +0100 From: Jan Kara Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214132950.GE1934@quack.suse.cz> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120214100348.GA7000@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Jan Kara , Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Tue 14-02-12 18:03:48, Wu Fengguang wrote: > On Mon, Feb 13, 2012 at 04:43:13PM +0100, Jan Kara wrote: > > On Sun 12-02-12 11:10:29, Wu Fengguang wrote: > > > > 4) test case > > > > > > Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): > > > > > > mkdir /cgroup/x > > > echo 100M > /cgroup/x/memory.limit_in_bytes > > > echo $$ > /cgroup/x/tasks > > > > > > for i in `seq 2` > > > do > > > dd if=/dev/zero of=/fs/f$i bs=1k count=1M & > > > done > > > > > > Before patch, the dd tasks are quickly OOM killed. > > > After patch, they run well with reasonably good performance and overheads: > > > > > > 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s > > > 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s > > I wonder what happens if you run: > > mkdir /cgroup/x > > echo 100M > /cgroup/x/memory.limit_in_bytes > > echo $$ > /cgroup/x/tasks > > > > for (( i = 0; i < 2; i++ )); do > > mkdir /fs/d$i > > for (( j = 0; j < 5000; j++ )); do > > dd if=/dev/zero of=/fs/d$i/f$j bs=1k count=50 > > done & > > done > > That's a very good case, thanks! > > > Because for small files the writearound logic won't help much... > > Right, it also means the native background work cannot be more I/O > efficient than the pageout works, except for the overheads of more > work items.. Yes, that's true. > > Also the number of work items queued might become interesting. > > It turns out that the 1024 mempool reservations are not exhausted at > all (the below patch as a trace_printk on alloc failure and it didn't > trigger at all). > > Here is the representative iostat lines on XFS (full "iostat -kx 1 20" log attached): > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.80 0.00 6.03 0.03 0.00 93.14 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 205.00 0.00 163.00 0.00 16900.00 207.36 4.09 21.63 1.88 30.70 > > The attached dirtied/written progress graph looks interesting. > Although the iostat disk utilization is low, the "dirtied" progress > line is pretty straight and there is no single congestion_wait event > in the trace log. Which makes me wonder if there are some unknown > blocking issues in the way. Interesting. I'd also expect we should block in reclaim path. How fast can dd threads progress when there is no cgroup involved? > > Another common case to test - run 'slapadd' command in each cgroup to > > create big LDAP database. That does pretty much random IO on a big mmaped > > DB file. > > I've not used this. Will it need some configuration and data feed? > fio looks more handy to me for emulating mmap random IO. Yes, fio can generate random mmap IO. It's just that this is a real life workload. So it is not completely random, it happens on several files and is also interleaved with other memory allocations from DB. I can send you the config files and data feed if you are interested. > > > +/* > > > + * schedule writeback on a range of inode pages. > > > + */ > > > +static struct wb_writeback_work * > > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > > + struct inode *inode, > > > + pgoff_t offset, > > > + pgoff_t len, > > > + bool wait) > > > +{ > > > + struct wb_writeback_work *work; > > > + > > > + if (!igrab(inode)) > > > + return ERR_PTR(-ENOENT); > > One technical note here: If the inode is deleted while it is queued, this > > reference will keep it living until flusher thread gets to it. Then when > > flusher thread puts its reference, the inode will get deleted in flusher > > thread context. I don't see an immediate problem in that but it might be > > surprising sometimes. Another problem I see is that if you try to > > unmount the filesystem while the work item is queued, you'll get EBUSY for > > no apparent reason (for userspace). > > Yeah, we need to make umount work. The positive thing is that if the inode is reaped while the work item is queue, we know all that needed to be done is done. So we don't really need to pin the inode. > And I find the pageout works seem to have some problems with ext4. > For example, this can be easily triggered with 10 dd tasks running > inside the 100MB limited memcg: So journal thread is getting stuck while committing transaction. Most likely waiting for some dd thread to stop a transaction so that commit can proceed. The processes waiting in start_this_handle() are just secondary effect resulting from the first problem. It might be interesting to get stack traces of all bloked processes when the journal thread is stuck. > [18006.858109] INFO: task jbd2/sda1-8:51294 blocked for more than 120 seconds. > [18006.866425] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > [18006.876096] jbd2/sda1-8 D 0000000000000000 5464 51294 2 0x00000000 > [18006.884729] ffff88040b097c70 0000000000000046 ffff880823032310 ffff88040b096000 > [18006.894356] 00000000001d2f00 00000000001d2f00 ffff8808230322a0 00000000001d2f00 > [18006.904000] ffff88040b097fd8 00000000001d2f00 ffff88040b097fd8 00000000001d2f00 > [18006.913652] Call Trace: > [18006.916901] [] ? native_sched_clock+0x29/0x70 > [18006.924134] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 > [18006.933324] [] ? local_clock+0x41/0x5a > [18006.939879] [] ? lock_release_holdtime+0xa3/0xac > [18006.947410] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 > [18006.956607] [] schedule+0x5a/0x5c > [18006.962677] [] jbd2_journal_commit_transaction+0x1d5/0x1281 > [18006.971683] [] ? native_sched_clock+0x29/0x70 > [18006.978933] [] ? try_to_del_timer_sync+0xba/0xc8 > [18006.986452] [] ? local_clock+0x41/0x5a > [18006.992999] [] ? wake_up_bit+0x2a/0x2a > [18006.999542] [] ? try_to_del_timer_sync+0xba/0xc8 > [18007.007062] [] ? del_timer_sync+0xbb/0xce > [18007.013898] [] ? process_timeout+0x10/0x10 > [18007.020835] [] kjournald2+0xcf/0x242 > [18007.027187] [] ? wake_up_bit+0x2a/0x2a > [18007.033733] [] ? commit_timeout+0x10/0x10 > [18007.040574] [] kthread+0x95/0x9d > [18007.046542] [] kernel_thread_helper+0x4/0x10 > [18007.053675] [] ? retint_restore_args+0x13/0x13 > [18007.061003] [] ? __init_kthread_worker+0x5b/0x5b > [18007.068521] [] ? gs_change+0x13/0x13 > [18007.074878] no locks held by jbd2/sda1-8/51294. > > Sometimes I also catch dd/ext4lazyinit/flush all stalling in start_this_handle: > > [17985.439567] dd D 0000000000000007 3616 61440 1 0x00000004 > [17985.448088] ffff88080d71b9b8 0000000000000046 ffff88081ec80070 ffff88080d71a000 > [17985.457545] 00000000001d2f00 00000000001d2f00 ffff88081ec80000 00000000001d2f00 > [17985.467168] ffff88080d71bfd8 00000000001d2f00 ffff88080d71bfd8 00000000001d2f00 > [17985.476647] Call Trace: > [17985.479843] [] ? native_sched_clock+0x29/0x70 > [17985.487025] [] ? start_this_handle+0x357/0x4ed > [17985.494313] [] ? local_clock+0x41/0x5a > [17985.500815] [] ? lock_release_holdtime+0xa3/0xac > [17985.508287] [] ? start_this_handle+0x357/0x4ed > [17985.515575] [] schedule+0x5a/0x5c > [17985.521588] [] start_this_handle+0x3f3/0x4ed > [17985.528669] [] ? kmem_cache_free+0xfa/0x13a > [17985.545142] [] ? wake_up_bit+0x2a/0x2a > [17985.551650] [] jbd2__journal_start+0xb0/0xf6 > [17985.558732] [] ? ext4_dirty_inode+0x1d/0x4c > [17985.565716] [] jbd2_journal_start+0x13/0x15 > [17985.572703] [] ext4_journal_start_sb+0x13f/0x157 > [17985.580172] [] ? local_clock+0x41/0x5a > [17985.586680] [] ext4_dirty_inode+0x1d/0x4c > [17985.593472] [] __mark_inode_dirty+0x2e/0x1cc > [17985.600552] [] file_update_time+0xe4/0x106 > [17985.607441] [] __generic_file_aio_write+0x254/0x364 > [17985.615202] [] ? mutex_lock_nested+0x2e4/0x2f3 > [17985.622488] [] ? generic_file_aio_write+0x4a/0xc1 > [17985.630057] [] generic_file_aio_write+0x66/0xc1 > [17985.637442] [] ext4_file_write+0x1f9/0x251 > [17985.644330] [] ? local_clock+0x41/0x5a > [17985.650835] [] ? fsnotify+0x222/0x27b > [17985.657238] [] do_sync_write+0xce/0x10b > [17985.663844] [] ? fsnotify+0x222/0x27b > [17985.670243] [] ? fsnotify+0x7c/0x27b > [17985.676561] [] vfs_write+0xb8/0x157 > [17985.682767] [] sys_write+0x4d/0x77 > [17985.688878] [] system_call_fastpath+0x16/0x1b > > and jbd2 in > > [17983.623657] jbd2/sda1-8 D 0000000000000000 5464 51294 2 0x00000000 > [17983.632173] ffff88040b097c70 0000000000000046 ffff880823032310 ffff88040b096000 > [17983.641640] 00000000001d2f00 00000000001d2f00 ffff8808230322a0 00000000001d2f00 > [17983.651119] ffff88040b097fd8 00000000001d2f00 ffff88040b097fd8 00000000001d2f00 > [17983.660603] Call Trace: > [17983.663808] [] ? native_sched_clock+0x29/0x70 > [17983.670997] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 > [17983.680124] [] ? local_clock+0x41/0x5a > [17983.686638] [] ? lock_release_holdtime+0xa3/0xac > [17983.694108] [] ? jbd2_journal_commit_transaction+0x1d0/0x1281 > [17983.703243] [] schedule+0x5a/0x5c > [17983.709262] [] jbd2_journal_commit_transaction+0x1d5/0x1281 > [17983.718195] [] ? native_sched_clock+0x29/0x70 > [17983.725392] [] ? try_to_del_timer_sync+0xba/0xc8 > [17983.732867] [] ? local_clock+0x41/0x5a > [17983.739374] [] ? wake_up_bit+0x2a/0x2a > [17983.745864] [] ? try_to_del_timer_sync+0xba/0xc8 > [17983.753343] [] ? del_timer_sync+0xbb/0xce > [17983.760137] [] ? process_timeout+0x10/0x10 > [17983.767041] [] kjournald2+0xcf/0x242 > [17983.773361] [] ? wake_up_bit+0x2a/0x2a > [17983.779863] [] ? commit_timeout+0x10/0x10 > [17983.786665] [] kthread+0x95/0x9d > [17983.792585] [] kernel_thread_helper+0x4/0x10 > [17983.799670] [] ? retint_restore_args+0x13/0x13 > [17983.806948] [] ? __init_kthread_worker+0x5b/0x5b > > Here is the updated patch used in the new tests. It moves > congestion_wait() out of the page lock and make flush_inode_page() no > longer wait for memory allocation (looks unnecessary). Honza -- Jan Kara SUSE Labs, CR -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx206.postini.com [74.125.245.206]) by kanga.kvack.org (Postfix) with SMTP id ABABD6B13F0 for ; Tue, 14 Feb 2012 08:45:32 -0500 (EST) Date: Tue, 14 Feb 2012 21:35:15 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214133515.GA4069@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="7JfCtLOvnd9MIVvH" Content-Disposition: inline In-Reply-To: <20120214131812.GA17625@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Mel Gorman Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim --7JfCtLOvnd9MIVvH Content-Type: text/plain; charset=us-ascii Content-Disposition: inline > For the single dd inside memcg, ext4 is now working pretty well, with > least CPU overheads: Attached are the dd progresses for btrfs, ext4 and xfs in turn, with btrfs performing the most fluent and fast. Also attached the "10 memcg each running 1 dd" graph for btrfs. Well it's unacceptably bumpy because there are no any efforts to make a round-robin walk between the works from different memcg LRU lists. Thanks, Fengguang --7JfCtLOvnd9MIVvH Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAABQAAAAMgCAIAAADz+lisAAAABmJLR0QA/wD/AP+gvaeTAAAg AElEQVR4nOzda2BU1dn+/ysgYRwgEkQCWJIgohMiIFHB/q1GQS1VRH1oQYrioWIERKH1qZTo T2sLailCBU/RysFYFbAtByXF4FkfKBohLTioSRnO0BEwkBMR+L+IpimBTPbOzN4zs76fV2HW Xjt3uDo2N2uvNQlHjx4VAAAAAADxroXbBQAAAAAA4AQaYAAAAACAEWiAAQAAAABGoAEGAAAA ABiBBhgAAAAAYAQaYAAAAACAEWiAAQAAAABGoAEGAAAAABiBBhgAAAAAYAQaYAAAAACAEWiA AQAAAABGoAEGAAAAABiBBhgAAAAAYISYaYCLiorGjRvXvn37hISEY4YOHz48ffr03r17ezwe j8fTu3fv6dOnHz58uO6CLVu2DBs2LCkpKSkpadiwYVu3bq0/vfFRAAAAAEB8iJkG+KabburU qdOHH37YcGjixIlLly597rnn9u/fv3///ry8vL/+9a8TJ06sHT148ODAgQOzsrICgUAgEMjK yho0aFBFRUVTRgEAAAAAcSPh6NGjbtdgTULCsTUnJSVt2rSpS5cuda/s2LHD5/OVlZVJmjlz 5ieffJKfn183euONN/bv3//uu+8OOQoAAAAAiBsxswLcCI/H0/DFk08+ufaLZcuWjR49uv7Q 6NGjlyxZ0pRRAAAAAEDciIcGePz48SNGjFizZk11dXV1dfXq1auHDx8+YcKE2tENGzb07du3 /vV9+vTZuHFjU0YBAAAAAHEjHh6BPnLkyNChQ19//fW6V4YMGbJ06dLa47ISExPLy8tbtWpV N1pTU9O2bdvq6uqQowAAAACA+HE01jSseerUqWecccaKFSvKy8vLy8tXrFjRvXv3Rx99tHa0 VatWhw4dqn/9oUOHEhMTmzLaeBkAAAAAAAfYbyD/WzysAHfv3v2VV14ZMGBA3Str1qwZOXJk aWmppJSUlOLi4pSUlLrRXbt29evXb+fOnSFHLZWBeEXWRiFuc5C1UYjbHGRtDrI2Shjjjoc9 wNu3b8/Kyqr/Sr9+/bZv3177dWZm5vr16+uPFhcX9+rVqymjAAAAAIC4EQ8NcGpq6qefflr/ laKiom7dutV+PWTIkAULFtQfXbBgwdChQ5syCgAAAACIG/HQAE+cOHHUqFErV66srKysrKxc sWLFyJEjJ02aVDs6ZsyYjz76aNq0afv27du3b9/UqVNXr159++23N2UUAAAAABA3YubR+doj nY9RV/wLL7wwZ86c2o8v6tWr1/jx43/2s5/VXbZ58+ZJkyatWrVK0qBBg2bNmpWWltbE0Ubq iZW/OjQTWRuFuM1B1kYhbnOQtTnI2ihhjJv/3djEW84cZG0U4jYHWRuFuM1B1uYga6NwCBYA AAAAANbQAAMAAAAAjMCTAzbx0AUAAAAAOIBHoAHn5OXluV0CnEPc5iBroxC3OcgaQONogIEQ MjIy3C4BziFuc5C1UYjbHGSNsDvuh9GEtGvXrp49ex4zN6GBJs49fPjw9OnTe/fu7fF4PB5P 7969p0+ffvjwYRuFged4beIRaAAAACBqhevXdRv3OXr06ODBg2+55Zaf/vSn9ec25VbHnTth woR169ZNnz793HPPlfTpp5/ee++9WVlZs2fPtvjTxCo+Bsl9NMAAAABA1HKxAX788cfXrVu3 YMGCY+Y25VbHnZuUlLRp06YuXbrUXbZjxw6fz1dWVmapsNjFHmDAOYFAwO0S4BziNgdZG4W4 zUHWqFX7/HDDJ4137949btw4r9ebkpIyfvz4ioqK2tf37dt31113paWltWrV6pRTTrniiiuW L19+3Dt/9NFHnTt3fuaZZ070rdetW/fcc889+eSTNso+0VyPx9Pw4pNPPtnGt7DsscfUoYMe e8yJ7+UIGmAghPz8fLdLgHOI2xxkbRTiNgdZo1btauHR79S9ft555w0YMGDv3r1FRUVlZWWT J0+uff2GG25o27btRx99VFVV9a9//euee+457tPFy5cvHzly5MKFC++8887jft/KysrRo0fP nTu3Xbt2x72gU6dOJ510UpcuXUaNGuX3+5s4d/z48SNGjFizZk11dXV1dfXq1auHDx8+YcKE Jv99NENlpfbtU2WlE9/LETzHaxOPQAMAAABRK+Sv6wcOHDj77LN37NghKTExsays7LgLrXX3 mT9//uzZs1977bW0tLQT3XPs2LFdu3Z94IEHjlvDtddee++99/bv37+8vHzRokUPPvhgQUFB 7bbexuceOXJk6NChr7/+et2thgwZsnTp0sYO6CosVGFhIz9+aP/3fzp0SNu2ads2fe97+t73 lJio73+/Wfe8/HJdfrmNeWFsvk4Ky10AAAAAIJpVVlY++OCDixYt2rZt2zfffCOpRYtvn4fN zMycOHHiAw88cPrppx937vTp09euXfvuu++2adPmRPdfsmTJhg0b5syZ08gFtV+0bt06Jyen devWkydPLigoCDn30Ucf/eyzz1asWHHJJZdIeu+998aNG/e73/3uvvvuO+FP+8EH4XxuubYN lvTee826j8djrwEOI5YxbWIFGAAAAIhaDX9dHzNmzJ49ex566KGzzjqrTZs233zzTatWrWqv +eKLLyZNmlRYWNi9e/cLLrjg2muvvf7662vb44SEhEOHDnXt2rW4uLj+MVQNnXnmmatWraq/ Ptx4y3DgwIEuXbocPHgw5Nzu3bu/8sorAwYMqBtds2bNyJEjS0tLT1jNBx/oww8bqTa02hXg L77Ql1/qzDPVs2cYVoAvukg/+IGNeZwC7T4aYHPk5uZOnTrV7SrgEOI2B1kbhbjNQdao0/DX 9eTk5M8///y0006r/WNpaWmPHj3qX1NdXe33+9esWfPCCy/07NnzxRdfrLvP3Llzp02btmzZ Mp/P18h3PNHQcRuHsrKyrl271jbAjc9NTEwsLy9v1apV3YuHDh1q165ddXX1iWaFzUMP6de/ 1oMP6qGHIv69ToxToAHnTJo0ye0S4BziNgdZG4W4zUHWqNOyZcvDhw/Xf6W6ujoxMbHuj/Pn zz9mSuvWrfv27XvHHXesXLly8eLF9YduvfXWmTNnXnHFFR988MGJvuPRBupePO71CxcuvOii i5oyNzU19dNPP60/t6ioqFu3bqH+DsIhOVlnnKHkZCe+lyNogIEQOnbs6HYJcA5xm4OsjULc 5iBr1DnjjDP+9re/1W8+Bw8e/POf//yrr746cODA008//Y9//KNu6JJLLsnPz9+2bdvhw4eD weDjjz9+2WWXHXPDIUOGvPrqqyNGjDimN26iQYMGLV68eNeuXYcPH961a9esWbOmTJnyyCOP NGXuxIkTR40atXLlysrKysrKyhUrVowcOdKhf+655x6VlOiee5z4Xo7gOV6beAQaAAAAiFp/ +ctfJk6cuHXr1rp11GAwmJOTU1BQkJiYeN11182aNat9+/a1Q++8886cOXPeeeed/fv3n376 6dddd93DDz98yimnqMGv/Rs3bvzRj340adKkiRMnhqyh/ty33nprzpw577333tdff52SkjJw 4MDc3Nyzzz67KXMlvfDCC3PmzNm4caOkXr16jR8//mc/+5nNv5oYxB5g99EAm6OgoGDw4MFu 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 hjWs47WIJdCmWHK/PHepTa3Wt1DHmep7mdsFAQAAAGZhCfQR3n333SuvvLJ9+/YtW7bs27fv P/7xj6M+sHHjxvz8/PT09PT09Pz8/E2bNjV+FOY6XKMZ56t9odrU6qMu6r+e7hcAAACIa4nQ AA8ePHjnzp3z5s2rrKx8/vnnH3300WeffbZ+tLKycujQoXl5eX6/3+/35+XlDRs2rLq6ujGj MNdWn17rpD7vq0b6ZIzG+dXuB27XBAAAAKBJEqEBnjx58ttvvz1gwIDk5ORevXqVlJQ88MAD 9aPPPPPMOeecU1hY2LZt27Zt2xYWFvbv37++Q254FIb66Bl93VM9d+ibZqosKlxzhpKS3K4J Diks5NVWpiBroxC3OcjaHGQNaxJwI+u+ffvatGlz4MCBuj8OHTp08uTJI0aMqP/A22+//eCD Dy5atCjsaAPYAxzPfq7yl9V+htJHSrtV3lntByj9VamN9r6qd59S1wVqIa1op8Hv6VRvIBDI yMhwu2Y4hLjNQdZGIW5zkLU5yNoovAe4Ia+88sr999+/YsWKuj9mZmauXr06MzOz/gPbtm3r 27fv1q1bw442gAY4PtWq9kx9ufb7Pz0u3Rwy+MhJuqNWkg5JnwzT1W+qebLzJQIAAAAIRQN8 Qjt37jz33HOffvrpCy64oO5IixYtqqqqkpP/3cnU1NSkpaXVTRE3PNoAGuA4NFNf/pdqG7HB +9trNIgH6wMAAAAxgadAH9/27dtHjx79xBNP1He/UZV0AmPGjKn/TFFR0cKFC+t+Xrdu3eTJ k+uHJk+evG7durqfFy5cWFRUVD/EFaJwhaHyXdWY7jf4q6Qi36DQK5SWlsbMb8EVon6F0tJS 12vgCs5cYdCgQU28Qiz8FlyhkVeo+5s83n8LrtCYK5SWlrpeA1dw5gqhQ/H7W3CFo65wog5L 9kmcacxvvvnm0ksv/fOf/zx8+PDQ4yyBNt46bf+Jdq0N/0FJn0jjpENHJFtSUnLttddGpTTE HuI2B1kbhbjNQdbmIGujMAN8tC1btvz4xz9+5JFHjup+JeXm5paVlYUeWb16dY8ePRozivi3 Ur5uje1+JeVJhSfpyLuLv1uNQtzmIGujELc5yNocZA1rEqEB3r59+8UXX/zAAw8MHTr02NGR I0cWFxeHHikuLh41alRjRhH3vp0Q8Slja1XxehRKAQAAAOCyRFjH27dv39/85jdXXXXVcUcr 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 4EBFRcU///nPs88+++67764braio6Nat27333rtz586dO3fee++93bt3r6qqavq5cF70sg4G g9xTscaW27O2tnbEiBEvvvhiaL7c2rEmelkHubVjTxPjbiBQbu1YE72sw47CYU3MuqCgYMKE CV9//fWBAwdWrFiRn59fP8R9HYOiF3cw7I0fjd8nMWzatKlNmzZ1Pz/yyCPXXHNN6Og111zz 2GOPReNcOM+urIP8pzQeWIj74Ycf/tnPfhY8Ml9u7dhnV9bH/hExKKK4GwiUWzv22ZV12FG4 rvFZL168eOTIkSe6Dvd1XLAr7mC4W5sl0CeUnJzcrFmzup/nzp07bty40NFx48bNnj07GufC eXZljbgQadyrVq165plnnnjiiaOuw60d++zKGnHBrv/ycmvHPv5Xljkan3VRUdHNN998ouvw /ydxwa64w2tao56YqqurP/zww8GDB9955511Rzp06LBt27bQz2zdurVjx472ngvn2Zt1MBiU 1L59+2bNmnXs2PHqq6/+/PPPo1o/ImIh7urq6jPPPPPDDz+s+2Po35nc2rHM3qyD3NqxzULc DQTKrR3L7M067ChcFGnWWVlZL7/88qBBg1q1apWWljZs2LD33nuv/pPc1zHO3riDYW/8aP4u 8Sf0nwaGDBlSU1NTdzw5OfngwYOhnzx48GCLFi3sOhfOi0bWwWBw1KhR77777v79+3fs2PHU U09lZmauXLnSgV8HDbMc94033njPPfeEXqf+Z27t2BSNrIPc2rHKctwNBMqtHZuikXXYUbjC WtYtW7Zs37799OnTKyoqKioqXnzxxfbt2y9durQx58JF0Yg7GO7WpgE+jt27d7/66qtdunSp 34fd+NumKefCefZmfaxp06ZddNFF9tYMyyKN+/XXXx84cOChQ4fqR2mA44W9WR+LWzumNP2/ vKGBcmvHMnuzjnQUToo06+Tk5BkzZoSOvvjiixdccEFjzoXr7I37WEfd2jTAJ/Thhx926dKl 7udIF0405Vw4z66sj7V3797U1FS76oQtGh93t27dNmzYEDrKEuj4YlfWx+LWjkFN+Zs8NFBu 7dhnV9aRjsJ5jc+6Y8eOlZWVoaMVFRUpKSmNORcxwq64j3XUrc1DsE4oLy/v22+/rfs5Nze3 rKwsdHT16tU9evSIxrlwnl1ZHyt45NIOxILGx11eXp6dnX3US+Tqf+DWjn12ZX0sbu0Y1JS/ yUMD5daOfXZlHekonNf4rHNzcxu4Dvd1XLAr7mMddWvTAJ/QsmXLvF5v3c8jR44sLi4OHS0u Lh41alQ0zoXz7Mr6WLNmzTrvvPPsqhO2aHzcx/4LYv3BsOciFtiV9bG4tWNQU/4mDw2UWzv2 2ZV1pKNwXuOzHj169Pz580NH582bd/bZZzfmXMQIu+I+1tG3dgPT0EYZMWLE66+/vn379kOH DgUCgenTp3ft2nX+/Pl1o3v37j3ttNPuu++++ncxd+vWrX7mvSnnwnnRy3ro0KEvvfTS1q1b Dx06tHXr1qlTp7Zv337FihXu/J4IBoN2356hf2dya8ea6GXNrR2DmhJ3w4Fya8ea6GXNrR1r mpL1vn37zj///FmzZlVWVlZWVs6YMaN9+/aLFy9uzLlwRfTiDntr0wB/b/HixZdffnm7du2a N2/eqVOn/Pz8ZcuWhX5g/fr1l112WevWrVu3bn3ZZZeF7hZryrlwXvSyXrRo0ejRo+tGO3fu /LOf/czn8zn3i+F47L09j/pHQ27tmBK9rLm1Y1BT4g4bKLd2TIle1tzasaaJf41v2bLlmmuu adu2bcuWLc8999yFCxc2/lw4L3pxh721k4LsdgAAAAAAGIA9wAAAAAAAI9AAAwAAAACMQAMM AAAAADACDTAAAAAAwAg0wAAAAAAAI9AAAwAAAACMQAMMAAAAADACDTAAAAAAwAg0wAAAAAAA I9AAAwAAAACMQAMMAAAAADACDTAAAAAAwAg0wAAAAAAAI9AAAwAAAACMQAMMAAAAADACDTAA AAAAwAg0wAAAxIekpKRof8X69es9Hk9BQUHYTxYUFHg8ng0bNkS7JAAAbJQUDAbdrgEAABwt Keno/0Yfe8R248ePX7FixYoVK1q2bNnwJ/fv39+vX78BAwb8/e9/j2pJAADYiAYYAIBY5EC7 e5StW7dmZWUtXLhw0KBBjfn8kiVLLrrook2bNnXo0CHatQEAYAuWQAMAEHPqVjsn/Z/Qg3U/ VFRUXH/99aeccsrJJ598++23Hzp0qLKycsKECSeffHKbNm1uueWWQ4cO1V/tnXfe6d+/v8fj yc7O/t///d8TfemMGTPOO++80O53165dN998c1ZWVnJy8sknn3zhhRfOmzevfvSCCy7o37// zJkz7f3dAQCIHhpgAABiTt3cb/D/HPuBSZMmDR8+fPPmzZ999tnKlSunTJkyceLECy+8cOvW rZ999tmnn3765z//ue6Tq1atuuKKK37729/u2bNnzpw5Dz744Pz584/7pQsWLBg3blzokauu uiotLe2DDz7Yv3//+vXrf/nLX/71r38N/cD48ePffvtte35nAACijyXQAADEogb2ACclJRUV FV1//fV1x5cvXz548OBHH320/sjHH3983XXXffbZZ5LGjBkzaNCgm2++uW6otLT04YcfXrBg wbHfeOqppy5ZsuSMM86oP9KiRYu9e/d6PJ4TFfnll18OHz5848aNTfpVAQBwCg0wAACxqOEG +LvvvsvIyKg7vn///latWh11pE2bNvv375fUsWPHjz76KCsrq26oqqrq1FNP3bVr17HfmJyc XFVV1aJFi/ojffv2HTBgwF133dW5c+fjFnnw4MG0tLSDBw829bcFAMARLIEGACD+1Pe6kupm aI86cuDAgbqfd+zYkZ2dXb+dOC0tbc+ePY38llmzZm3evLlbt245OTnjxo175ZVXamtr7fsl AABwGg0wAACJrE2bNjt37gyGOFET27Fjx6MWM3fv3n3evHl79uyZMWPG+eefP2XKlPHjx4d+ YMOGDR07doxi9QAA2IoGGACAWNSsWbPDhw83/TpDhgyZPXt2Yz7Zq1evpUuXHnu8ZcuWvXv3 vuGGG95+++2XX345dOjdd9/t1atX04sEAMAZNMAAAMSi008//a233mr6ozp+//vf33nnnTNn zqyqqqqqqlq0aNGll1563E+OGDGipKQk9MigQYNKSko2b958+PDhQCDwyCOPDBkyJPQDL7zw wogRI5pYIQAAjqEBBgAgFj344IMTJ05s1qxZ/et/rcnNzZ03b97zzz/fqVOn9u3b33vvvTfd dNNxP3nllVcuXbr0/fffrz9yzz33vP7663369GnZsmW/fv127do1ffr0+tF33333ww8/vPLK K5tSHgAATuIp0AAA4Hvjx49fuXLl8uXLQ58FfVwHDhw466yz+vXr99xzzzlSGgAANqABBgAA 31u/fn1OTs511133t7/9reFP3njjjc8999znn39+2mmnOVMbAABNRwMMAAAAADACe4ABAAAA AEagAQYAAAAAGIEGGAAAAABgBBpgAAAAAIAR/j8R1olEzd4I5AAAAABJRU5ErkJggg== --7JfCtLOvnd9MIVvH Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw.png" Content-Transfer-Encoding: base64 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 hI4dO7Zs2bJTp0433HCDx+OpO/7xxx+Xl5cPGTIkKioqOjp6+PDh9VdZb9y4MSUlpf59zjnn nE2bzD6e6kh58kRpq+mHXT2hxArp6gAV0+RYx2sSS6ABAAAAC53wD/KysrKzzjprx44dkiIj I0tLS12uYzyUuO4+L7744pw5cxYtWpSQkGDu3SdNmhQfH3/vvfce85xRo0bdc889AwcOrKio yMnJue+++/Ly8vr27SvJ5XLFxMQ88cQTaWlpknJzc6dOnbp48eILLrigtviKioqIiIi6W1VV VbVp06aysvK49S1bpmXLTvA7tDys37ylcFOtb1mUdiTrs/N10MhznocP1/DhJt4tgM0X3wMM AAAAIBQcOHDgvvvuy8nJ2b59++HDhyWFh/+w4jU5OfnOO++89957O3fufMxrH3300TVr1nzw wQetW7c29+5LlizZuHHjv/513JXAdYuWW7VqlZ6e3qpVq+nTp+fl5enHR0Bfd911tSeMHTtW 0r333rtixQpzxeijj/TIIw2dcI/0W1N3LpMell7bL62R1hi71uUy1wAHENOYJjEDDAAAAFjo 6D/Ib7311t27d99///29evVq3br14cOHIyIias/ZvHnzXXfdtWzZsjPPPHPAgAGjRo0aPXp0 bXscFhZ26NCh+Pj4goKCTp06mX73Hj16LF++vP7sccMtQ1lZWadOncrLyyV16tTp66+/rt97 l5eXx8XFVVRUSIqLiysoKIiLi6sbLS4u7tev386dO49b30cfqYFHVV+VZXLid9cQrb7czIW1 Bg/WBReYuI4ZYADGZGRkPPjgg1ZXATQWiYXtEFrYS6gmduHChV999VWHDh1qfywqKqob6tmz 59KlSysrKz0ezyeffPLoo4++/vrrL730Uu1oRETE//zP/1x00UW5ublut9vcuxcWFiYmJh5x sPYBXcds3uofTE5ObuDOycnJGzZsuOyyy+qOFBQU9O7du6FqLrjgOK3m+yq8XVWmul93pty3 aoiZS4MHD8ECHOGuu+6yugTAABIL2yG0sJfQSGyLFi2qq6vrH6msrIyMjKz78cUXXzziklat WqWkpPzud7975513Fi5cWH/opptumjVr1qWXXvrRRx+Zq8d/lLqDxzx/wYIFgwcPrn09evTo N998s/7o0qVLBwwYUPs6LS0tKyur/mhWVtbIkSMNFujRjmR5LjHc/e7qpm2D5P5CutXgOwYj GmDAEWJjY60uATCAxMJ2CC3sJTQS261bt7fffrt+ezlixIi77757z549ZWVl//73vz///PO6 oYsuuig7O3v79u3V1dU+n2/mzJmXXHLJETdMS0ubP3/+ddddd0RvHBDDhg1buHBhcXFxdXV1 cXHx7NmzZ8yY8fDDD9eO3nLLLU888UROTk5FRUVFRcX8+fOnTJly33331Y7eeuutq1ateuih h0pKSkpKSh588MHVq1dPnDjRyPs/Jk+SSo1P/LonaEihLl0tmZwYDzY0wAAAAADs55FHHpk0 aVKLFi3qvgc4MzNz3759Xbt27dq166effjp37ty6kx944IHXX3+9b9++rVq16t+/f0lJybx5 846+5/nnn//uu+9OmzZt9uzZx3zT+t88fPS3EDcgIyPjlVde6dOnj8vlOvfcc/Pz8z/88MPU 1NTaUZfLtWDBgiVLlnTp0qV9+/aPP/74vHnz6lr06Ojo9957b82aNQkJCQkJCWvXrl2+fHmj H9ZVO/H7h8adXI8rWu4V0pGz6HbHk5xM4iFYsJe8vLwRI0ZYXQXQWCQWtkNoYS8k1jEeM9P6 SnJfJr0d6GLM4yFYAIzx+XxWlwAYQGJhO4QW9kJiHWCfStO04/gPgj4eV5QS50tpTVBSUGAa 0yRmgAEAAAAEn9XacqcOfWLmUvcD0r2BricAmAEGAAAAABzhbnlmmbzU/a40PKDFBCMaYAAA AAAIAf3lyTdzXfwwxSyU2ga6nmDEU6ABR0hPT7e6BMAAEgvbIbSwFxIbWlZry8UqTDbT/UZ1 kPszxSxzSPcr9gCbxh5gAAAAAJb6mwofUVWFyavdQ6T3A1lOkwlg88UMMAAAAADnauQX+dbK z8+fPHly27ZtG76quLi4Z8+eR5wTdpT6ozU1NXPmzElOTna5XH369Jk/f3790aKiojFjxsTE xMTExIwZM2bbtmdUeLo8fzHZ/bqi5H7WLt1vYNEAAwAAALAfQ41roIwfP75jx44rVzb09UJ+ v//GG2984IEHjjlUX/2hyZMnFxQUvPHGG6WlpVlZWTk5OXVD5eXlQ4cOTU1N9Xq9Xu+Xf/ub p0vFbaraZfJ3cA9RYoU00eTlNkcDDDhCZmam1SUABpBY2A6hhb2QWNM2btx4//33JycnN3DO rFmz4uLixo4d2/jbrlix4ttvv3322We7d+8eGRmZmpq6cOHCutFnn332vPPOy8hIabd3ULvd Z/QO32SyemMTvzWqqTe9XFMu1Zh832BCAww4QlJSktUlAAaQWNgOoYW9hEBia6d/j15LvGvX rsmTJ0dFRcXFxd1+++379++vPV5SUnLHHXckJCRERESceuqpl1566dKlS49551WrVp1++ulP P/20ucLWr1//7LPPPvnkk4auyszMvOOOO443mpubO2NGjTxXqWqz/Ka60NrW18DEb7V23qxt w1XzvSTVfK9tw7Xz5hDogWmAAUe48MILrS4BMIDEwnYILewlBBJbu3746LXE/fv3HzRo0N69 e/Pz80tLS6dPn157/Prrr2/Tps2qVasOHjz4zTffTJ06dc6cOUffdunSpWPHjl2wYMFtt91m oqoDBw5MmDBh7ty50dHRxzyhY8eOLVu27NSp0w033ODxeOqOf/zxx+Xl5UOGDImKioqOjh4+ fHi9VdbF//rXp73D55mo5wfuGwyvea7Zr0Nf6sBqbRuhw9u07Zc68IkOfama/ebLCA48ytgk ngINAAAAWOiEf5CXlZWdddZZO3bskBQZGVlaWupyuRq4z4svvjhnzpxFixYlJCSYe/dJkybF x8ffe++9xzxn1KhR99xzz8CBAysqKnJycu677768vLy+fftKcrlcMTExTzzxRFpamqTc3Nyp U6cuXrz4ggtWyPOXExbTkA5XS+eZudBfpe9fUFWhwiLkr1JEd536W4VFnFQxrYfKNcDEdQFs vujiTKIBhr14vd7GfJQDQYLEwnYILewlNBJ79B/kBw4cuO+++3JycrZv33748GFJ4eHh1dXV kvr16zdo0KB77723c+fOx7zPo48+umbNmrlz57Zu3drcuy9ZsuSf//znihUrWrRocbxz6nvh hRdeffXVvLw8SZGRkS+99NJ1111XNzpv3ryUlL+f1Hbfg8E3W9vxMZ02zcR1NMDWowGGvTz4 4IMZGRlWVwE0FomF7RBa2EtoJPboP8hvvfXW3bt333///b169WrduvXhw4cjIiJqz9m8efNd d921bNmyM888c8CAAaNGjRo9enR4eHjtfQ4dOhQfH19QUNCpUyfT796jR4/ly5fX/5eFhluG srKyTp06lZeXS+rUqdPXX39dr/fOqSic2rpqZyOL+Zn4qYq5X5VFOrDazOV1aipUMktV2xQW Jf9+RXRRu7sU3qh/HTiuU85Tq3NMXEcDbD0aYAAAAMBCR/9B3q5du6+++qpDhw61P27ZsqV7 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 rkJggg== --7JfCtLOvnd9MIVvH Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw.png" Content-Transfer-Encoding: base64 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 zwM6u7rxp7LunrNqo9V8dY3KKgAAAADgZIcPH77rrrtWrVr18ccfHzt2TFJCQuP1sFlZWXPn zr3zzjvPOOOMkO+9//77N2/evHHjxu7du4dbf/Xq1Tt27Hj00Uct1NZwC+imXb5TpkyRdOed d7722muSFixY0HDkyiuvlFRYWDh79uym4kN7/fVoXrfc0AZL+sc/bK3j9bahAZ6skpWStDNB WQHt8KhLQ+t7l3S3rU+XxBlgyzgDDAAAADhWyz/Xb7311s8++2zBggXf+MY3unfvfuzYscTE xIY5//rXv+bNm7du3bqzzjrr/PPPv+aaayZMmNDQYXo8nqNHjw4cOLC4uHjAgAERPnHw4MHr 168PPj/c9jPAAwYM2L17d3B3XV1d3b9//5qamoYfN27cePfdd7/zzjv19fXZ2dmzZ8+eP39+ aWlp2Gpef12tXUTdioYzwP/6l3bv1uDBOuecKJwB/s//1CWXtDKnIlm1J664rm/cs+vJVOCj ZKXX2Pp0STTAltEAw47c3Nx77rnHdBVwK/IDywgP7CA/sCP2+Wn553rv3r0//PDDvn37NvxY Wlp69tlnB885cuRISUnJ22+//eSTT55zzjl//vOfm9ZZtmzZvffeu2bNmoyMjAifGG6oWSUt axs7duzq1asjNMDNvPLKK8uXL//LX/4S7hOjZsEC3X237rpLCxZ0+Gc1CG6AT4hiA8xNsAAD 5s2bZ7oEuBj5gWWEB3aQH9gR+/x06dLl+PHjwUeOHDmSlJTU9OPTTz/d7C2nnHLK8OHDf/KT n/z9739/9tlng4duuummBx98cNy4ca+//nq4Twy00HSw1WonTJjw8ssvBx8pLCw8//zzw83/ 4x//eOutt7a6bBT07q2vf129e8fisyTp4Zbdb3TRAAMGpKammi4BLkZ+YBnhgR3kB3bEPj9f //rXX3nlleDm84orrrjjjju++OKLQ4cOLV269P33328auvTSS/Pz8z/++OPjx4/7fL5FixaN GTOm2YLjx48vKCiYPHlys944Km6++eZHHnlk1apVNTU1NTU1BQUFs2fPvuuuu5omTJo0aevW rXV1daWlpTk5OQMHDhw9enTUywhhzhzt2aM5c2LxWZIqftnRn0ADDAAAACDe3HfffbfddluX Ll2arkzOy8s7ePDgoEGDBg0a9M477yxbtqxp8sKFC1988cX/+I//OOWUU0aOHFlZWblixYqW a1588cVr16796U9/+tBDD1koKfi5xM2eUez1eleuXLl69eozzzzztNNOe/jhh1esWBHchP/g Bz/40Y9+1KNHj+9///tDhw5t73OG0YSNrBaxBxh2FBUVXXHFFaargFuRH1hGeGAH+YEd5Adt EmoDsNgDDLidz+czXQJcjPzAMsIDO8gP7CA/aIMHO3oDsDgDbBlngAEAAAAgasKc/hVngAEA AAAAnUj6bVFZhtOYFnEGGAAAAACiJvIZ4Cg1X5wBBgzIyckxXQJcjPzAMsIDO8gP7CA/cAhO Y1rEGWAAAAAAiJIslewMN8YZYAAAAADocE2P6m2X/fv3n3POOc3eu2XLlhkzZvTq1SvkmvX1 9YsXL87KyvJ6vcOGDSsoKAgeXbt27cUXX9ytW7c+ffpMnTr1wIEDFqpytIqPYvM5NMAAAAAA 4o21xjUqAoHAjTfeuHDhwmbHp06d2q9fvzfeeCPku2bMmFFcXPzSSy9VVVUtX7581apVTUPr 16//4Q9/OHv27M8//7yiouLKK6+cOHHikSNHOvB3cBRvchQXowEGDMjLyzNdAlyM/MAywgM7 yA/s6FT5efDBB/v37z9lypRmx3fs2LFgwYKsrKyWb3nttdc++eSTJ5544uyzz05KSsrOzn72 2WebRhcuXPjoo49ef/31PXr06NGjx5QpU26//fb/+Z//6dhfQ/WqD3rsUH21VN/BnxgLNMCA AZmZmaZLgIuRH1hGeGAH+YEdMc5Pw+lfzwlNxw8cODBjxozk5OT+/fvffvvttbW1DccrKytn zpyZlpaWmJh46qmnjhs3rrCwMOTKmzZtOv300x977LFwH71169YnnnhiyZIl7So4Ly9v5syZ 4UY3b948fvz44CNXXXXVCy+80K6PaKfj2vdj7R2r+n9LUv2/tXes9v24w3rgrHD3f446GmDA gG9/+9umS4CLkR9YRnhgB/mBHTHOT8MNkwInNB0fOXLkt771rS+//HLLli1VVVXz589vON5w cnXTpk1+v/+jjz6aM2fO4sWLWy5bWFg4ZcqUlStXTp8+PeTnHj58eNq0acuWLevZs2e7Cn7z zTerq6tHjRqVnJzcs2fPsWPHhrtSusn27dvb9RHtU1+ro7t0+C3tvULH9mrvd3X4bR3dpfra Dvm4yBuAU86P4kdxK2OLuAs0AAAA4Fit/rl+6NChIUOGfPrpp5KSkpKqqqq8Xm+EdZ5++unF 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 X+v9uuwt26UAAEADDNhQXl5uuwR4GPmBY7EOz6LrNfoTferTaS+pD1sfPY8PH5ggP3CJeGiA m5ub58yZc8YZZ/j9fr/ff8YZZ8yZM6e5ubn1BTU1NVOmTMnKysrKypoyZcrGjRvb/njno0A0 BINB2yXAw8gPHItpeN5/TLl/UkjadZtOHxe790XU8OEDE+QHLhEPDfDNN9/8/PPPz507d8+e PXv27CktLX3uueduvvnmltG6urrx48cXFRUFAoFAIFBUVHTBBRfs27evO6NAlMyYMcN2CfAw 8gNJ0l1an3nk2YYM6S5JUoMaKo9cb1gtNbQ+ax+ezl7pSJsJd1ar9jr5pZVjdMkdZtPCLfjw gQnyA5eIhzs5ZWVlrV279sQTT2y9smXLlmHDhu3du1fSPffc895775WVlbWOzpgx46yzzvr+ 97/f5WgnuAkWAMCeb6hqniSFfCoMa41PyWGFpWH/rbW/UrhJN/bVq7s1rp8e2iOlaOheyd9+ hjqt7d+9V3ZTmwlf263HkjQqpLA0ZI9SjzP+8wIAEho3wWrH7z/Gf6p79+7d8mDx4sUzZ85s OzRz5sxFixZ1ZxQAAPep09rDv7dNCmuNlBRWy/8r2PBrhZuksP6wW9dIf9itcFjhJjWsO3qO hnXdfWU3tZ3wHmlUSJJ8UjMHiwAALpLi7Md8Pl+Xr4nZAulNN900bdq0OXPmnHnmmZI++OCD W2+9ddasWS2ja9asGTlyZNvXjxgxorKysjujQJQUFxc//PDDtquAV5GfRHeo1Tys7a+yd/r0 TIpmNson/UqSFJbmp6jwey3jH3/yyemnnXboxWs6e6UTrRNefHjCa4/TquHOJ4TL8OEDE+QH LmG6lFxbW3vDDTeMGTNm+vTpOTk527dvf+yxx957770//vGPmZmZXf98JIRCocmTJ7/wwgut VyZNmvT888+3dOlpaWn19fWpqamto42NjZmZmQcOHOhytBNsgQYAWDOyr574VF3/Ltqq2dIi if9WAgCMuWgL9C233DJhwoRbb731pJNOSklJOemkk2677bbx48e33oMqBu64446PPvropZde qq+vr6+vf+mll9asWfPb3/422u/r68DUqVNbX1NaWrps2bKWx9XV1bNnz24dmj17dnV1dcvj ZcuWlZaWtg4xAzMwAzMwAzN0NkPFp2rU0Q5qx9JztCDt6OsL0lY/dnr9mxdr1VVaddWOpeds eG6UVl312Vc2PZa6Y+k5LS+rf/Pi1Y+d3vJYq6469gyrrtKqq94pPenQ46MmvEN1F/R2+z9J ZmAGZmAGZnDTDB11WIoc0056wIABGzZs6NOnT9uLe/fuHTRo0J49e8xq667/+I//eOKJJ84+ ++zWK++888706dNb/tHn5ORUVFTk5OS0jm7btm3UqFFbt27tcrQTrAADAOzYWaNNp6n3wWMM +XuroUEtB4J/fnhvs3zKq5C//VbkhpXaUNStV3ZTxCcEAOAwF60ANzQc+ysTGhs/+6vpaNm8 eXNRUVHbK6NGjdq8eXPL48LCwlWrVrUdraioKCgo6M4oECVtfxkG9BT5SVz7avX4JarJO3b3 K0k++VIkn2YN1JPSrIHy+eRLkX9Iy/CR8PiHdP7KHov4hHAfPnxggvzAJUwb4HPOOefJJ588 6uLChQu//OUvG87cfYMGDfrggw/aXnn//fdPOeWUlseTJk2aP39+29H58+dPnjy5O6NAlOTn 59suAR5GfhJROKxFP9Q/+mtUudLDCh/eDBaSpkvSofPAeRM1dK/yVmvpDoXDWrpDuRVtv9mo TXgyO39lz0V8QrgOHz4wQX7gEqZLyRUVFRdffPFtt902bdq0lptgPf7443fdddfSpUuHD4/R lqf777//vvvue+CBB84991xJr7766ne/+91bb731pptuklRbWzty5MgbbrjhxhtvlPTggw/O mzdv1apVGRkZXY52gi3QAIAYefsv2vw9Fe6VpHV9dMK9Gv1VNUzU5hUaXCdJDau17WzlTZSe tlspAADREMHmKwITrVu37vbbb1+6dGkwGMzOzp4wYcIvf/nLwYMHR6S+bnr00Ufvv//+lq8v KigouOmmm775zW+2jm7YsOEHP/jB8uXLJV1wwQX33ntvbm5uN0c7QgMMAIi6De/rH9doVLWS pe0pOjBLE+6Sz3T3FgAA3uKuBjgx0QDDRCAQ6M7vWYBjIj8JYW9Qz1+toa+rT1j10roLddnj ysw2nJXwwAT5gQnyAxMuugkWAAfKyspslwAPIz9xLhTSs8V690SNfk3pYX1wmo5foWlLzbtf ER6YIT8wQX7gEhHopJcsWXLfffetWLHi008/DYVCki677LKbbrrp0ksvjUSFLsUKMAAg8t58 VFtvVmGtJH2cpZPu1+e/ZrsmAAAsc9EK8Ny5c2+55ZYf/vCHmzZtaq3pBz/4wd13321cGwAA CWP9O/p/p6jvN1VYqy0pCvxIl++h+wUAILJMO+nc3NzFixePGDFCbfryurq6nJyc+vr6yNTo SqwAAwAi49MdWjxZhe+ot1Tn04ZJurRM6Vm2ywIAwC1ctAK8bdu2oUOHfvZ6SkqK4cxAHCsp KbFdAjyM/MSP5iY9OUOrTtTod5QmfTBcJ36oq5+PXvdLeGCC/MAE+YFLmHbSZ5111k9/+tPJ kyerTV++YMGCv/zlL0uWLIlMja7ECjBMtHxnmO0q4FXkJ068crfqfqrT9kvS6v4aMldnXhXt 9yQ8MEF+YIL8wEQEmy/Tddrf/va311577caNGydNmiRp165dixYt+vnPf/7CCy9EojwgPvEf AJggP55XuUyrZujM7fJJgTSl/ExX/zQ270x4YIL8wAT5gUtEoJNeuXLlr3/969dff/3f//53 3759zz///Ntvvz0/Pz8i9bkWK8AAgB7bvUnlX1H+e/JLu33aco0mPapeGbbLAgDA1Vx0BljS mWeeuXDhwm3btjU2Nu7cuXPhwoVx3/0ChsrLy22XAA8jP57UdFBPT9PqXI16T0nSB5/XkE80 ZUGMu1/CAxPkBybID1yCW1UBFgSDQdslwMPIj/csu1MHfqnCBklaeYJGPqrpl1gphPDABPmB CfIDl3C4lOzz+SSFw+GWB8cU3zuE2QINAOja6pdUNVPDg5K0wa/M/9Y5t9quCQAAj4lg80UX 5xANMACgM9vX6+WvaPhqpUq7k7Tj67r0D0rtZbssAAC8hwbYPhpgAMCxHdinxdfq5CXqG9YB 6cOzdclTGnCy7bIAAPAqF90Eq6Mt0J1sjQZQXFxsuwR4GPlxtfKf6PV+Gr5Yx4X1/snq9Ypm vO2e7pfwwAT5gQnyA5cw7aSP2YuHw+Hk5ORQKGQys8uxAgwAaKfiGf3rWxq6S5I+TlffO/Xl 79muCQCAeBDB5ivyd4Fubm4uLy8fNGhQxGcGAMCNtlbq1a/ojE80VNqerF3f1OX3KyXVdlkA AOBozhvg1k3OR+12Tk5OPvXUU++55x6jugAAcL/9e/X8FP3Hco0Ka5+08jxd9rj6nWi7LAAA cGzOzwCHw+GWZehwe01NTR9//PGVV14ZuSKBeFNaWmq7BHgY+XGFcFhLvqc3BmjkMmWGteJU 9fm7Zrzq8u6X8MAE+YEJ8gOXMN0CzTlYwIH8/HzbJcDDyI99//yLNn1PBXslqSpD2Xdpxnds 19QthAcmyA9MkB+4RFRugpUIEvYPDgAJLfC+3r5KZwSUJG1JVt0sTfqdkky/UgEAAHTCRTfB Gjhw4IEDB3r16hWRagAAcKnaoF74ik5/QyOlOumTibr8/ymzn+2yAABAD5j+0vqqq67661// GpFSgMQRCARslwAPIz+xFg7pxWJ9cILOfEO9pHeH6fiVmv6SF7tfwgMT5AcmyA9cwrQBnjNn zjPPPPPwww9v2bIlvr/4F4igsrIy2yXAw8hPTL39sF48TqeW6vhmVfTV/if0tY80aKTtshwi PDBBfmCC/MAlInAGuKOh+D4iyxlgAIhz1W/o/WtVuEk+KZCq0GxNvF0d/1cPAABESQSbL7o4 h2iAASBufbpVS6/SkLfll/b4FLhSkx5VxnG2ywIAIEHRANtHAwwAcai5SUu+rQHzld2sRmnV mRpXppMLbZcFAEBCi2Dz5fAMsM/na9n87OtYROoD4lJJSYntEuBh5Cda3rpf5cdp6DxlN2tF thqf0owP4qz7JTwwQX5ggvzAJVjGdIgVYJgIBoPZ2dm2q4BXkZ/IW/+aVkzXiK3ySf9KU9rP dMFPbdcUFYQHJsgPTJAfmGALtH00wAAQD/Zs0ktfUf578ku7fNpwja58VL0zbJcFAACOcMsW 6M5FpD4AAIxN1PrMI882ZEgT1XxQT0/TmlyNek9J0tufV97H+uoCul8AAOKYwwY4fNjevXun Tp06Z86cTZs2NTY2btq06c4775w6dWptbW1kCwXiSXl5ue0S4GHkp4cKVfVXNdarMkk+nyqT dGCfqv6qfxynwoUaENJ7A9X8nK5boc8NsV1q1BEemCA/MEF+4BIOG+BWt9xyy4QJE2699daT TjopJSXlpJNOuu2228aPH3/zzTdHpD4gLgWDQdslwMPIT8/U/OvQg6Sw1khJYbVsocppUHUv bfof/Z8dGnWFvfpiivDABPmBCfIDlzDdSz1gwIANGzb06dOn7cW9e/cOGjRoz549ZrW5GmeA AcAbatK1b/8xrtemq2CrMrJiXhAAAOgZ+2eAWzU0NBzzemNjo+HMAAAYW3Ts7lfSQNH9AgCQ aEwb4HPOOefJJ5886uLChQu//OUvG84MAICpmum2KwAAAC5i2gDPmTOnpKTknnvu2bJlS3Nz 85YtW373u9/97Gc/mzNnTkTqA+JScXGx7RLgYeSn277U4fJvoiI8MEF+YIL8wCUisJd63bp1 t99++9KlS1u+3nrChAm//OUvBw8eHJH6XIszwADgbs+q6qrOxv3pyquPVTEAAMC5CDZfdHEO 0QADgKt1dO+rVjTAAAB4hItuggUAAAAAgCfQAAMWlJaW2i4BHkZ+IiPvWtsVWEB4YIL8wAT5 gUvQAAMW5Ofn2y4BHkZ+IsCfLv3RdhEWEB6YID8wQX7gEhxkdYgzwADgYpNU9UJn48P+V5oV q2IAAIARboJlHw0wALhX53fAGnae9GrsigEAAGa4CRbgbYFAwHYJ8DDyY8SfnsjdL+GBCfID E+QHLkEDDFhQVlZmuwR4GPmBY4QHJsgPTJAfuAT7eB1iCzQAuNV5qnq9w0G+/hcAAK9hCzQA AB2oebfT4SExKgMAALgPDTAAIJHk/c52BQAAwBoaYMCCkpIS2yXAw8iPc/506ULbRdhEeGCC /MAE+YFLcJDVIc4Aw0QwGMzOzrZdBbyK/HTqYVV9p8PBhD8ATHhggvzABPmBCb4H2D4aYABw o86/Adg/QnmrYlgNAACIAG6CBQBAz3EAGACAxEYDDFhQXl5uuwR4GPlxKOEPAIvwwAz5gQny A5egAQYsCAaDtkuAh5Gfji3obP8zCA/MkB+YID9wCQ6yOsQZYABwnS4OACf6HbAAAPAozgAD ANBDeTfYrgAAAFhGAwwASAD+dOk+20UAAADLaIABC4qLi22XAA/zeH7maH2m1o849GxDhjbk SOVSgxoqj7yqYbXU0MOZX+MAcJc8Hh5YRn5ggvzAJTjI6hBngAGg576pqkcPPdwrZbb5Nawv WeGQbuyrV3drXD89tEdK0dC9kr+7c288XfWfdDjKAWAAADyLM8AAAA+qefzI46z2/wkKN0th /WG3rpH+sFvhsMJNaljXg8nD2zsbzZvRs1IBAEA8YhnTIVaAAaDHOrpLc61Pz6RoZqN8h6+E pfmpKvxiz+Yveu3Yv9dl+RcAAC+LYPNFF+cQDTBMlJaWfvvb37ZdBbzKw/np/GuKoocG+DAP hwcuQH5ggvzARASbr5SIzAKgR/Lz822XAA/zbH46vknVQZ+eTdW0g+0uLkjTsEk9mP7UN9Vn m/PqEoNnwwNXID8wQX7gEixjOsQKMAD0zMZM1XdjGfbn0q9aHvmUVyH/8O7OX3Oc9u099DjU /oDxsGLpoe5XCgAAXIWbYAEAvCYc6mzUlyz5NGugnpRmDZTPJ1+K/EN6MP+gWw49CPlUKIV8 h04UDzuP7hcAALSgAQYsCAQCtkuAh8VhfvzpGlqnvNVaukPhsJbuUG5Fz74DSZJ+oWGPKzVH BSGFwyoIqVd/DXtcejVKVXtRHIYHMUR+YIL8wCVogAELysrKbJcAD/NmftZ1dfsrv/wFbZ4N 72H32+JaDW5zDDjv39K1PZ8knnkzPHAL8gMT5AcuwUFWhzgDDAA9sPsEbe/4e3q5SzMAAOgY Z4ABAJ5Su7ez0byxsaoDAAAkNBpgAIBV/nRpue0iAABAQqABBiwoKSmxXQI8jPzAMcIDE+QH JsgPXIKDrA5xBhgmgsFgdna27SrgVR7MzwxVPdbhIAeAY8iD4YGLkB+YID8wEcHmiy7OIRpg AOiumvTObgE97AJpWQyrAQAAHsNNsAAAMdCghsojj/c+LzV85rHUsFpqaP/i1otd8afT/QIA gJihAQYsKC8vt10CPCxW+anT2nRtKNT5/dXHpzW9teUKVfXWwMOPK3urt0/n91dghNZmaW2W NgzX+f3la3OxOz0wYogPH5ggPzBBfuASNMCABcFg0HYJ8LAY5adhpFr2Gv1ht74hJR++/uLh x0nSDdIfdiscVrhJ4UYprD/s1jVtLjasi0Wp6DY+fGCC/MAE+YFLcJDVIc4AA4hznR/cbSss zU+VpJmN8rW/WPhFSSr8p3p3MBV3wAIAAF3hDPDRQqHQ73//+8LCQr/fP3z48AULFrQdramp mTJlSlZWVlZW1pQpUzZu3Nj9UQBISIXd7X4l+aSvN+rrbbrf1oujX9Po1zrsfiXl3W9SJQAA QI/ESQP83e9+t6Ki4vnnn9+7d+/8+fOffPLJ1qG6urrx48cXFRUFAoFAIFBUVHTBBRfs27ev O6MAkDCe0PoTjjzb8K+e/fSCNC1IO8bFVVdp1VUK9T72T/nTpet79kYAAAAG4qEBfuWVVzZv 3jx37tzBgwenpaUVFRU99dRTraNz584dO3ZsSUlJv379+vXrV1JSctZZZz3yyCPdGQWipLi4 2HYJ8LAo5KdQVdPVuF2VSfL5VJmkAx2v2bbdYfPA4QfTGjXt4KHHP29z8YrbNe1pZbb5kVCk aoYTfPjABPmBCfIDl4iHg6zTp0+/7rrrLr744mOOjh8/fvbs2RdddFHrlb/97W933nnn8uXL uxztBGeAAcSLQlW1+fqiUFe/Gt0vpUnJUkj6vHTOQN0flFIkKdykWdlatlMXHr44dK/kP/IW IZ8Kw1rjU3JYYWnYedKr0fuDAQCA+MAZ4Hbeeuuturq68847Lz09vU+fPhdeeOEbb7zROrpm zZqRI0e2ff2IESMqKyu7MwoA8a+m/W7nLv+z0C9dhfv1uUUq2K/9YS3dodwKDd2roXuVt1pL dyjc5qL8kqQ1GnaeUjNUEFI4rIKQeqXT/QIAgNiLh2VMv9+flZX1v//7v5MmTZK0ePHi//zP /3zmmWfOOeccSWlpafX19ampqa2vb2xszMzMPHDgQJejnWAFGECc6P7dnlscf576vxqtYgAA AD6DFeB2Wm4Bfe2112ZmZmZmZk6fPv2+++772c9+Fu339XVg6tSpra8pLS1dtmxZy+Pq6urZ s2e3Ds2ePbu6urrl8bJly0pLS1uHmCHuZygtLbVeAzN4d4bWp+Y1VFb25G7PLfo/4ZJ/Dszg YIaW13j9T8EMtmZofaWn/xTMYGuGr33ta9ZrYAb3z9BRh6XIiYdlzBNPPHHdunUZGRmtV+rq 6nJycurr6yXl5ORUVFTk5OS0jm7btm3UqFFbt27tcrQTrADDxN///vdzzz3XdhXwqkjmpzvL v21PBfO1vR7Hhw9MkB+YID8wwQpwO4WFhZ2Prlq1qu2VioqKgoKC7owCUcJ/AGAipvkJ+VQo hXyHvuM37/LYvTWigA8fmCA/MEF+4BLx0ABfeeWVL774YtsrS5YsGTNmTMvjSZMmzZ8/v+3o /PnzJ0+e3J1RAEhoR9+2apr0hO2aAAAAnIuHfbwNDQ0TJkz4/ve/f+mll0pasmTJrFmzFixY cP7550uqra0dOXLkDTfccOONN0p68MEH582bt2rVqpYt052PdoIt0DARCARyc3NtVwGvilx+ zlPV6x0Osts5HvHhAxPkBybID0ywBbodv9+/cOHCRYsWnXLKKQMGDLjvvvsef/zxlu5XUp8+ fV5++eV33303Nzc3Nzd3xYoVy5cvb+1vOx8FoqSsrMx2CfCwiOWn5t1Oh0+OzLvATfjwgQny AxPkBy7BMqZDrAAD8LzO74A17CVpYgyrAQAAODZWgAEA0eQtuwgPAAAgAElEQVRPp/sFAADx hwYYABLTT3v8DcAAAAAeRwMMWFBSUmK7BHhYZPJTc3enw0Mi8BZwHz58YIL8wAT5gUtwkNUh zgDDRDAYzM7Otl0FvCoy+eniAPBS6ULTt4D78OEDE+QHJsgPTESw+aKLc4gGGIC3ddIA8wVI AADATbgJFgDAxM0cAAYAAAmIBhiwoLy83HYJ8LAI5KemNBKFwHv48IEJ8gMT5AcuQQMMWBAM Bm2XAA+Len7y/iu688MePnxggvzABPmBS3CQ1SHOAAPwMA4AAwAA7+AMMADAsQ84AAwAABIT DTAAJJgdfL8RAABIUDTAgAXFxcW2S4CHmeanodPl37zbjSaHu/HhAxPkBybID1yCg6wOcQYY gFdxABgAAHgKZ4ABAM4s4AAwAABIWDTAAJBIaq63XQEAAIA1NMCABaWlpbZLgIdFMT9510Rr ZrgDHz4wQX5ggvzAJWiAAQvy8/NtlwAPi1Z+/OnSn6IyM1yDDx+YID8wQX7gEtzJySFuggXA k7gDFgAA8BpuggUAcKCQO2ABAIBERgMMWBAIBGyXAA9znp+af3U2mjfD4bTwDj58YIL8wAT5 gUvQAAMWlJWV2S4BHhaV/PjTpYcjPy1chg8fmCA/MEF+4BIcZHWIM8AAvIcDwAAAwIM4AwwA 6CkOAAMAgERHAwwAiaHzA8BJY2JVBwAAgDU0wIAFJSUltkuAh0UlP4PujfyccB8+fGCC/MAE +YFLcJDVIc4Aw0QwGMzOzrZdBbzKYX44AAw+fGCG/MAE+YGJCDZfdHEO0QAD8JRJqnqhw0Ea YAAA4GLcBAsA0BM1L3c2msUBYAAAkBBogAELysvLbZcAD4t8fvo/EeEJ4VZ8+MAE+YEJ8gOX oAEGLAgGg7ZLgIdFOD/+dOmESE4IF+PDBybID0yQH7gEB1kd4gwwAO/gADAAAPAwzgADALqt 8wPAAAAACYMGGAASW95dtisAAACIERpgwILi4mLbJaCnqrTlpsOPG1QzRao6/Gy11CA1qKHy yMsPXexET19/RCTz40+XbozYbHA9PnxggvzABPmBS3CQ1SHOAAOJ5B1VjZWkN3y6Oax/Sj5J 0pXSCf300B4pRZLCTbqxr17drXGHLw7dK/mPNWGd1vbvyetNfE9VD3Q4yAFgAADgehFsvuji HKIBBhLGHK3/hRr3H3oWarN1plFKbXnkkw5/IPxc+tXhi3kV8g8/xpQNK7Wh6NCPdOf1JmrS tW9/h6P+LOV9GuF3BAAAiCgaYPtogIHE8E1VPdrFS8LS/FRJmtl4aGW49WLhFzv8qTVv9uz1 JopeV1IHn1fD/iLNiMqbAgAARAgNsH00wDBRWlr67W9/23YV6IbOl0+9jv3PiYcPH5ggPzBB fmAigs1XSkRmAdAj+fn5tktARC1Ik6RpB4++OGxShz9StaRnr28jGAxmZ2f3oLwznu1wBRgJ hg8fmCA/MEF+4BIsYzrECjCQEDpfAX5fKmp55M0zwKwAAwAAL4hg88XXIAFAR9Z1sf/5NGnW QPl88qXIlyr5NGugnmxz0T/k2D/oHyJfSg9eb2LQN448DkmhNkN5v4v82wEAALgYy5gOsQIM E4FAIDc313YV6MruE7R9e2cvaFlBbVh9qHFtqJa/4NDQoYudfKdRQw9ff0TP83O/1s+WpMF1 krQhQ2rpfr/Tk0kQD/jwgQnyAxPkByZYAQa8rayszHYJ6IbavV28IO8+SfIPl/yS/0g3e+Ri J3r6+iN6np/vaXDdoe5XUl698urpfhMTHz4wQX5ggvzAJVjGdIgVYCD+dXF69j7phtgWBAAA kIhYAQaAaKvp6guQ6H4BAAA8hgYYAI7l0xdtVwAAAIAIowEGLCgpKbFdArpy3HcU8nU4mjcm hqUcjfzAMcIDE+QHJsgPXIKDrA5xBhgmgsFgdna27SrQlUrfsX9JaPvrc8kPHCM8MEF+YIL8 wEQEmy+6OIdogIH4V5mkpGP9a267AQYAAEgo3AQLAKJs/U+O3f0CAADAs2iAAQvKy8ttl4BO Lf4v1d5x5GlIurvNaN7YmBfUDvmBY4QHJsgPTJAfuAQNMGBBMBi0XQI6sHuH/nS6htwlf1gV g+Q/T6kZKgirNKwTHpU/XcPGS8vt1kh+4BjhgQnyAxPkBy7BQVaHOAMMxKG3H9fO63TaQdX6 tOlb+spD8nV8I2gAAADEBDfBso8GGIgrzc1aOEn55fJLVRk6/TkVXGi7JgAAAEgRbb5SIjIL AHhY9ft6e4KKdqlJWnGern5B/gzbNQEAACDyOAMMWFBcXGy7BBy2+GfaNEZFu7Q5Wf/+X814 1f3dL/mBY4QHJsgPTJAfuAT7eB1iCzTgebW79NyXNLpKPun9k3Xhazr+VNs1AQAA4GicAbaP BhjwtncWasdMnXZAdT5t5H5XAAAA7kUDbB8NMOBVoZAeu0IFS5Qhrc3Qac+qYILtmgAAANCh CDZfnAEGLCgtLbVdQqLatEYLTtCYJfJLK7+ki7Z5sfslP3CM8MAE+YEJ8gOXoAEGLMjPz7dd QkL626+1foRG7dTWZAXv1bX/UO9M2zU5QX7gGOGBCfIDE+QHLsE+XofYAg14Sd0ePXmOzlqj ZGnlSRr/mo4fbLsmAAAAdAtngO2jAQY8Y+Xzqpmm0xu0T9p4vSb/kftdAQAAeAhngAFvCwQC tkvwiqu1PlPrxx16tiFDG7KlVzt+fYMaKo8821ehsslqukKnN+iTDPn/qisejYPul/zAMcID E+QHJsgPXIIGGLCgrKzMdgmeMFxVT6uxXo2v6RWfKn1q2KeGf6vq/A564DqtzdKG4Tq/v3w+ XXScakZq9GJlSB8U6vyACi6K8R8gSsgPHCM8MEF+YIL8wCXYx+sQW6CBqKtJ1779xx7yn628 t4++2LBSG4qksCQ9JH3n8PWt39L53HkSAADAqzgDbB8NMBB1HTXAtT6t/fKxf2TNm5rZqLZ7 nL+Vqb/XRqM6AAAAxAYNsH00wEDUdbIC3E0/lp6T+FcVAADAy7gJFuBtJSUltktwv5922P0e 9GnVVcf+34K0dq/8jXTFwBjUGmPkB44RHpggPzBBfuASLGM6xAowTASDwezsbNtVuFvny79d ngH+ufSrlqs+5VXIPzxKZVpBfuAY4YEJ8gMT5Acm2AJtHw0wEF2dN8DDXpHGfeZqndb2V7hJ s7K1bKcuHKj7g1KKhu6V/FEsFQAAANFEA2wfDTAQXZ3dAjpdefUd/FiDGqrlLzj8bLX8Q+h+ AQAAPI0zwIC3lZeX2y7B5e5xevsr/5HuV5J/eFx2v+QHjhEemCA/MEF+4BI0wIAFwWDQdgnu VsN9MjpDfuAY4YEJ8gMT5AcuwT5eh9gCDURRFweAfyjdFcNqAAAAYBNboAEkKn863S8AAACc oQEGAAAAACSEeGuAt23bdtppp/l8vrYXa2pqpkyZkpWVlZWVNWXKlI0bN3Z/FIiG4uJi2yW4 2Wind8BKFOQHjhEemCA/MEF+4BJxdZA1HA5PnDjxuuuu++pXv9r656qrqzvzzDOvv/767373 u5IefPDBP//5zytXrkxPT+9ytBOcAQaipYsDwMXSQzGsBgAAAJbxPcDHdvfdd69cuXL+/Plt /wHdc8897733XllZWevLZsyYcdZZZ33/+9/vcrQTNMBAtDj8BmAAAADEJ26CdQwrV66cO3fu Aw88cNT1xYsXz5w5s+2VmTNnLlq0qDujALrtCq3P1Pq+h55tyNCGDOlPNisCAAAA2ouTBnj/ /v0zZ86cN29enz59jhpas2bNyJEj214ZMWJEZWVld0aBKCktLbVdQmQVqup5Ndar8VNV+lTp U8M+NexT1fU974HrtL8pGiXGk7jLD2KH8MAE+YEJ8gOXiJMG+JZbbrnmmmvGjh372aHdu3f3 79+/7ZUBAwbs2rWrO6NAlOTn59suIaJq/nXkcVL7z5UNN/VsqoZ1CnfcACeN6dlscSre8oMY IjwwQX5ggvzAJeKhAV60aNGaNWt+8pOfxPh9fR2YOnVq62tKS0uXLVvW8ri6unr27NmtQ7Nn z66urm55vGzZsra/FWOGuJ/h3HPPtV5DNGY4SrjWp3+MUdk4lY2r/MnxLQ9UNm7LnKG7fz+y 5fH+R8ZW/3du61D1nCvCoeSOJtSgez3xzyHaM5x77rnWa2AGj85w7rnnWq+BGbw7Q+uHj6f/ FMxga4aPPvrIeg3M4P4ZOuqwFDnxcCenIUOGLF++PDc3t/VK20PSOTk5FRUVOTk5raPbtm0b NWrU1q1buxztBDfBAg57TVXjYvE+3AELAAAgIUWw+UqJyCx2rV+/Pi8v76iLLb8nCIfDhYWF q1atuuiii1qHKioqCgoKWh53PgpESSAQaPsrG2/beFmHQwd9+ujKHk94xhIlHTSpKO7FVX4Q W4QHJsgPTJAfuEQ8NMCf/WVA298QTJo0af78+W1b3Pnz50+ePLk7o0CUlJWVlZSU2K4iQsKh DofSwjq7vGfLtg0rteHZQ49D7U9p5HEA+JC4yg9ii/DABPmBCfIDl4jPfbxtG+Da2tqRI0fe cMMNN954o6QHH3xw3rx5q1atysjI6HK0m28BJLROvrZX0rB50nU9ma5Oa/sr3KTd6fpivS4c qPuDUoqGflF61bBSAAAAeBHfA9wDffr0efnll999993c3Nzc3NwVK1YsX768tb/tfBSAEX96 D7tfSZkauld5q/WFOoXDWrpDuRUaupfuFwAAAOZYxnSIFWBAkjRJVS90OMhtqwAAAGCMFWDA 2+LnDEzNy52N5k2IVR2JJX7yg5gjPDBBfmCC/MAlWMZ0iBVgmAgGg9nZ2bariIRODgCz/Bs1 8ZMfxBzhgQnyAxPkByYi2HzRxTlEAwxINMAAAACIOrZAA3CDazu7/zMAAADgMjTAgAXl5eW2 S4iEmuc7He4bozIST5zkBzYQHpggPzBBfuASNMCABcFg0HYJ0Zf3gO0K4lZC5AfRQXhggvzA BPmBS3CQ1SHOAAMcAAYAAEAMcAYYQIRsrFJTk6OfXMcBYAAAAHgLDTCQwD5aqhV/UEqKk5/d Pa3TYUdzAgAAANFEAwxYUFxcbONtJ2p95uHHDfooQzuu0cX/V5IaVksNPZus9qPORjkAHE2W 8oN4QHhggvzABPmBS3CQ1SHOAMNrClVVKUkhn84O693DlwPSHf300B4pRUP3Sv6uZwqHtWuH dm/QwbHH/h0aB4ABAAAQORFsvujiHKIBhse0vWFVqM3mj0Yp9fBj/xOq7aW6zarbooYdOhhU 0y6F90h7lVSvXg3qdUDpTcoMKb3T96IBBgAAQOTQANtHAwyP6eSOzT1VK9UmKS1F2QeP/QIa YAAAAEQOd4EGvK20tDS2b/j5Lrrfg9IOaUOKqjK0aoDeG6QVhXrvS/pgktZcp/U/0tZ7VfeU kt/RwB36fLPGN2tQ8pEfD7WfLW9CNP4MaBXz/CB+EB6YID8wQX7gEtypFbAgPz8/pu9X0+kN qySlSXcP1HM7ejDnoKmq+rMkhXwqDGuNT8lhhaVh50nPOS8V3RDr/CCOEB6YID8wQX7gEuzj dYgt0PCSTvY/HzkD7FNehfzDezLvHVr/fzW47tCzDRnK+5k026BQAAAA4GicAbaPBhhe0kkD XCv9ZKDuD/bgLtAAAABADHEGGPC2QCAQw3cb19kB4IHpWrpDuRV0vx4S2/wgrhAemCA/MEF+ 4BI0wIAFZWVlsXuzmn92Npo0RpL8w+l+PSSm+UF8ITwwQX5ggvzAJdjH6xBboOEZnX8B0rAP pDNjWA0AAADQM2yBBhAJ/nS6XwAAACQOGmAgvi3o4huAAQAAgIRBAwxYUFJS4ujnrtb6zCPP NmRIV3/mNQ1qqDzyrOb6Ticc4qgMWOY0PwDhgRHyAxPkBy7BQVaHOAMME8FgMDs7u4c/NFxV ayQp5FNhWGt8Sg4rLA2bIj11+DV1Wttf4Sbd2Fev7ta4fnpojzoJ6rCl0oXO/giwyFF+AInw wAz5gQnyAxN8D7B9NMCItbb3sgq12b3hT1de/aHHDSu1oUgKS9LPpV91OmHbHwQAAADcKoLN V0pEZgEQU23PLuyU/jHuyNM1KZrZKN/h7jcshTnrAAAAAEj8/2LAivLy8h7+xE87vJdVn30a /dqR/329Ub42oz7+LY9DPc8PcAjhgQnyAxPkBy7BCjBgQTAY7NkP1Nzd4VBtuqonHnlatUTT DnZrzryv9awGuEaP8wMcRnhggvzABPmBS3CQ1SHOACOm2h4APkr3zwBvkT53+HH/83T8q9Go FAAAAIisCDZfbI4E4oh/iHwpkk+zBupJadZA+Q7vh17s0wXSYt+hDdLH/8lakQAAAIAlLGM6 xAowYq3Sd+xfWB19M+cGNVTLX3D42Wr5U7TjcR1/+6ErO2br+O9IedGsFQAAAIgYVoABbysu Lu7ZD9RkdPtfVv+R7leSf7g07Ej3K+n4O+h+va7H+QEOIzwwQX5ggvzAJVjGdIgVYMRUJ2eA hxVLD8W2GgAAACB2WAEGEsb+Oj01WXUNR66E2oz60+l+AQAAgG6iAQbcKhTSs8X6Rz8NXyzf 4d94hXwqlEKH72WVN8ZefQAAAIDH0AADFpSWlrZ5tkd7lxx5tvdZaY/+MVfP9lV+qU5p0kcZ 2nm/hp2n1AwVhBQOqyCkXukadp70aqxLhwu0zw/QA4QHJsgPTJAfuESK7QKARJSfn3/44TZV nShJ30rSwpCmJun2kLZIA6RsaXOy6mfpit8pKUm6SYPbTNHuzs9ILG3yA/QM4YEJ8gMT5Acu wZ2cHOImWIiM2gXafO2hx+XSxNbrPlVfqcv+qMy+lioDAAAAXCGCzRddnEM0wIiYLybr0VC7 K8ukS97R4LMsFQQAAAC4CHeBBrwtEAgceVIV0uY2Y+XSLNH9ohPt8gP0BOGBCfIDE+QHLkED DFhQVlZ26NGS27RMOqnN2ETpW8k2ioJnHMkP0EOEBybID0yQH7gE+3gdYgs0TNXt0bNf0Oiq Q19oJGmxdPnhx597RllX2ikMAAAAcBO2QAMe9+FLevlEjalS0+Erv0jWbdIvkg/1w1nnW6sN AAAAiFM0wEDMLbheDZfq9Aat9avxeQ3brc8t1oImhcNa0KQTn9Gw3RI3fwYAAAAijAYYiKFd 2/SXUzXyT8qU/jlU529U0eVSX2VNOvKarCvpftG5kpIS2yXAqwgPTJAfmCA/cAkOsjrEGWD0 2DsLtfNrGnJQn/r2B77de+pDtguCVwWDwezsbNtVwJMID0yQH5ggPzDB9wDbRwOMHgiFNP8a nfGMMqSqDA1drHyO+AIAAADdEsHmKyUiswDoUHCj/vZFjd2kZmnF2bp6ufwZtmsCAAAAEhFn gIFoenOe3j9VRZsUTNKm2zXj7Zbut7y83HZl8DDyA8cID0yQH5ggP3AJVoCB6Ghu1sJJKihX f6mir85+WbmjWgeDwaDF0uB15AeOER6YID8wQX7gEhxkdYgzwOjM5ir9/cs6c6capdUTdc3z Skm1XRMAAADgSRFsvtgCDUTay3dr3XCduVNbkrXr95r+Et0vAAAA4AZsgQYi52CDFo7TqHeU LK0YqHGv6+RhtmsCAAAAcAgrwECEVL+vp0/U6HfUKL39FU3f2kn3W1xcHMvSEGfIDxwjPDBB fmCC/MAlOMjqEGeA0c4Lv1Kf23V8SBtSlTlX53zddkEAAABAnOB7gAHX2F+nsi/pixVKlt4e pElvKPtk2zUBAAAAOAaWMR1iBRiS9Mkbqpiowjrtk9b/H139F/l8tmsCAAAA4gp3gQZcYPF/ KXiuCutU3Ut6WteUdb/7LS0tjWppiG/kB44RHpggPzBBfuASbIEGeq5uj579gkZXSdI7p+sr /9BxA3s0QX5+flQKQ2IgP3CM8MAE+YEJ8gOXYB+vQ2yBTlwVLyhwtU5r0F6ftn9fl99ruyAA AAAgnkWw+aKLc4gGOEEtuE6n/ll9pKoMDV2s/PNtFwQAAADEOc4AAzG3e6ueyNXIPytDWnG2 Ltpq0v0GAoEIloZEQ37gGOGBCfIDE+QHLkEDDHTDOwv1Zp7OrNG/k1TzC814W+l9TOYrKyuL VGlIQOQHjhEemCA/MEF+4BLs43WILdCJIhTS/Kt1xrPKkD7sqzHLlVdkuyYAAAAggUSw+eIu 0EDHtv1LS7+ksVvVJP3zAk1/UalptmsCAAAA4BDLmA6xAhz/3nxUdcUa1KQtyWq+UxN+aLsg AAAAIBFxEyzAgQY1VLZ5tlpqOPb15no9fokyvqlBTVoxUKd/GPHut6SkJLITIqGQHzhGeGCC /MAE+YFLsIzpECvAXlOntf0VbtKNffXqbo3rp4f2SCkaukVrP9f++m6FJJ/UIK38ir72lJKT I15NMBjMzs6O+LRIEOQHjhEemCA/MEF+YILvAbaPBthjGlZqQ5EUlqSfS79querTSQu1eepn rkubUtSrVOdeb6NWAAAAAEfQANtHA+wxVW/okfP1zUb5Dl8JS/NTVfhFrXlTM9tcl/T3JF2y WifnW6gTAAAAQHucAQZ6aNiX9Fij2hz1lU/6eqNGv6avt+9+n5W+HYp291teXh7V+RHfyA8c IzwwQX5ggvzAJWiAkRi2VeoXqSpsf3FBmlZdpQXtv9noSumKgdEuJxgMRvstEMfIDxwjPDBB fmCC/MAl2MfrEFugPaN2h8qna8gr6n347+tO6Uctj9qfAf4fqeTw9bwK+YdbqBYAAABAe2yB Brph/x49c6kqT9AZL6tXWGGfJM0aqD9JswbK55MvRX3GyZci+TRroMraXPcPsVw8AAAAgEhj GdMhVoBdrblRL35Dxz2u45slafXJKvyD8i9UQ7X8BYde07Ba/iGSX2ro4DoAAAAA+1gBBjr2 4s9VnqXTynR8sz7J0t6HdfVG5U+S/Ee6XEn+4Ye73I6uR1FxcXG03wJxjPzAMcIDE+QHJsgP XIJlTIdYAXajt+dpyw9U8KkkbU5V0y266Dfy+br6MQAAAADuxQpwO6+//vq0adMGDhzYq1ev UaNGPfbYY0e9oKamZsqUKVlZWVlZWVOmTNm4cWP3R+EN617RU6fouG+o4FP9O0mfzNC5n+ri O+h+AQAAALSKhwb4vPPO27Vr15IlS+rq6v785z/fe++9jzzySOtoXV3d+PHji4qKAoFAIBAo Kiq64IIL9u3b151ReMDW1XqyQPvHa/gm7fOp8hKN2KrL/6K03rYrAwAAAOAu8dAAz549+29/ +9vZZ5+dmpo6YsSIsrKyO+64o3V07ty5Y8eOLSkp6devX79+/UpKSs4666zWDrnzUbjap9v1 xDnaNkJnfKSwtHqsBlXpqhfV53jblXWttLTUdgnwMPIDxwgPTJAfmCA/cIl4aIB/85vf+Nrs dB00aFDbbcyLFy+eOXNm29fPnDlz0aJF3RmFSzUd0NPTVPE5nfmG/GGtypX/FV39lgaebruy 7srPz7ddAjyM/MAxwgMT5AcmyA9cIg7v5PT000//+te/fu+991qe5uTkVFRU5OTktL5g27Zt o0aN2rp1a5ejneAmWHaEw1r6Q/ke0CkHJWltX518jz5/neWqAAAAAERNBJuveOvidu3a9YUv fOHhhx8eN25cy5W0tLT6+vrU1NTW1zQ2NmZmZh44cKDL0U7QAFvw1v369481pE6SAr2V/kud e5vtmgAAAABEF3eBPrbt27dfeeWVDzzwQGv3G1W+DkydOrX1NaWlpcuWLWt5XF1dPXv27Nah 2bNnV1dXtzxetmxZ23MRzHD0DB8uaSjro36zNKRO21I+/fAbP3nle63dr2f+FG1mCAQC1mtg Bu/OEAgErNfADB6dIRAIWK+BGbw7Q+uHj6f/FMxga4bf/OY31mtgBvfP0FGHpciJn2XMzZs3 X3bZZXfdddeFF17Y9jpboL3tX+/qjWt1ZrVSpN0+1Vypyx9V+nG2yzL1P//zPyUlJbargFeR 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 RU5ErkJggg== --7JfCtLOvnd9MIVvH Content-Type: image/png Content-Disposition: attachment; filename="balance_dirty_pages-task-bw.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAABQAAAAMgCAIAAADz+lisAAAABmJLR0QA/wD/AP+gvaeTAAAg AElEQVR4nOzde3gU5dnH8Xs3pzVAwBgIZwKKEKAiUEQ8AAq0VKitpYioxbevhwgqeHi1QEpB xGA9cFSxsRWhscjJSqFcUUEUFaR4CFEUCwIJZ1gTzBmS7L5/7BI2ycwm2Wxmdvb5fq5evcI8 OzP35Je43Mw8z9rcbrcAAAAAABDu7GYXAAAAAACAEWiAAQAAAABKoAEGAAAAACiBBhgAAAAA oAQaYAAAAACAEmiAAQAAAABKoAEGAAAAACiBBhgAAAAAoAQaYAAAAACAEmiAAQAAAABKoAEG AAAAACiBBhgAAAAAoAQaYAAAAACAEqzRAG/btm38+PGtW7eOiYnp16/fG2+8UeMFtlp8R3Nz c8eOHRsXFxcXFzd27NjDhw8bWDsAAAAAICRYowEeOnRoXl7exo0bi4qKli9fvnDhwr/+9a81 XuOurmp7UVHRjTfe2L9//5ycnJycnP79+w8fPrykpMTYKwAAAAAAmMzm2yuGrOnTp6elpVXd 1/3uu+9Gjx69f//+qhfYbLoXsmDBgs8//zwjI6Nqy5133nnVVVdNmTKlSWsGAAAAAIQUa9wB njdvnu9TzZ07d67/Y8wbNmyYOHGi75aJEyeuX78+mPUBAAAAAEKeNRrgGjZt2tSnT58aG9u0 aRMZGdmuXbs77rhj7969Vdv37NnTt29f31deccUV33zzjRGFAgAAAABChvUa4Ly8vBkzZrzw wgu+G2+++eZ169YVFxfv2bNnyJAhw4YNy8rK8gzl5+fHx8f7vviSSy7Jy8szrmIAAAAAQChw W8qJEyeGDBny3nvv+X/ZsmXLfv7zn3u+joqKOnfunO/ouXPnoqOj6zyX2ckAAAAAAESC17da YxEsj6NHj44ePfr5558fMWKE/1cWFha2a9euqKhIRBITE7OzsxMTE6tGT5w40a9fv+PHj/s/ iJ+FtRCWSFw1JK4aElcKcauGxFVD4qoJYuKWeQT62LFjv/jFL+bPn19n9ysivt+d3r177969 23c0Ozu7V69ewS8RAAAAABDCrNEAnzx5ctSoUc8888yNN95Yn9evXr362muv9Xw9ZsyYFStW +I6uWLHi5ptvDn6VAAAAAIAQZo2HB/r16/eHP/zhtttu0xwdPnz4pEmTrrvuutatW58+ffrN N99MS0vLzMzs37+/iBQWFvbt2/eee+6ZNGmSiLz88svLli3bvXt3s2bN/J+UJytUQ+KqIXHV kLhSiFs1JK4aEleNco9AZ2VlTZgwwVbdmTNnPKOpqan/+Mc/+vTp43A4fvrTn37xxRcfffSR p/sVkRYtWrz//vu7du3q0qVLly5dPvvssy1bttTZ/QIAAAAAwgz/dqKLf1hSDYmrhsRVQ+JK IW7VkLhqSFw1yt0BBgAAAACgkWiAAQAAAABK4OEBXTxZAQAAAACm4xFoIPjS09PNLgGGInHV kLhSiFs1JA6gnmiAAa/k5GSzS4ChSFw1JK4U4lYNiaPp2Gy2APY6ceJE9+7da+zrcrmWLFnS u3dvh8PRp0+fVatW+Z6ltujoaM/otm3bxo8f37p165iYmH79+r3xxhuNuSLF8ZSvLh6BBgAA ACwqWH+ZD+A4brd71KhR//M//3P77bf77nv//fdXVlZOmzatU6dOX3/9dVpa2tq1a/UOsnDh wl27dnl6XZvNNmLEiLlz5/bv3//bb7+9++67U1JS7rnnnoAvynKC2JrR4+miAQYAAAAsysQG eP78+VlZWStWrPDdd+vWrfPnz9+wYUN9juByubp37/7mm28OHDhQRKZPn56WllZ1P/m7774b PXr0/v37G1SVpTEHGAi+nJwcs0uAoUhcNSSuFOJWDYmjBk+vWPUscdX2kydPTp48OTY2NjEx 8YEHHigpKfFsz8/Pf/DBB7t06RIVFdWyZcuRI0du3LhR88jbt29v27btK6+8onfqrKysV199 9aWXXqqxPT09/cEHH6xn/Rs3bkxMTPR0vyIyb94836vo3Lnz4cOH63moxvrznyU+Xv78Z4NO 1/RogAGvjIwMs0uAoUhcNSSuFOJWDYmjBs/dQvd5VdsHDBgwaNCgvLy8L774oqCgYNq0aZ7t t912W/Pmzbdv315WVnbw4MGpU6cuWbKk9mE3btw4YcKE1atX33///ZrnLS0tnThx4rJly1q0 aFFjaMeOHUVFRUOHDo2NjW3RosWIESM++eQTvfoXLlw4depUvdFNmzb16dNH/+qDqrRU8vOl tNSg0zU9nvLVxSPQAAAAgEXV+Zf5wsLCHj16HDt2TESio6MLCgocDoef4yxfvnzJkiXr1q3r 0qWL3jEnTZrUvn37mTNn1q7B4XDExcUtXrx4zJgxIrJhw4apU6e+9dZb1113XY2DfPXVV6NH jz5w4EBkZGTtU+Tl5Q0ePPgvf/nLsGHD/FydbN4smzf7e0GdduyQc+fkyBE5ckQ6dpSOHSU6 WgYPbtQxR4yQESMC2C+IrZnG9xQAAAAAwkxpaemsWbPWrFlz5MiRiooKEbHbvc/D9u7d++GH H545c2aHDh00933uued27dr14YcfNmvWTO/469ev37Nnz4svvqg56lkCevz48Z4/TpgwQURm zpy5devWGq9ctGjR5MmTNbvfkydP3nrrrS+99FId3a+IfPxxMJ9b9rTBIrJtW6OO43AE1gAH ETc5dXEHGAAAALCo2n+Zv/fee0+dOjV79uzLL7+8WbNmFRUVUVFRntfs27fvkUce2bx5c9eu XQcOHPirX/3qlltu8bTHNpvt3Llz7du3z87ObteunZ8zXnbZZVu2bPG9P+xbQ7t27fbv3+/b PxcVFSUmJhYXF/sexOl09ujRY9++ffHx8TWOf/To0dGjRz///PMj6tNDfvyx6D9iXS+eO8D7 9sn+/XLZZdK9exDuAF97rdS6410fwWzN3NDBN0c1M2bMMLsEGIrEVUPiSiFu1ZA4aqv9l/lW rVqdOnWq6o/ff/99jdeUlZVlZWX95S9/GTRo0J133ul7nNdee+2yyy779ttv/Z/RT881fPjw oqIi39cXFhbGxsbWOMjcuXPvu+++2gc/evToT37yky1btvi/6uCbNcst4p41y+jzVhfE1oyb nLq4A6wap9OZkJBgdhUwDomrhsSVQtyqIXHUFhkZefbs2YiIiKotsbGxx48fb9mypeePs2bN mjNnjuZf+AsKChITE0tLS8WnKdi4ceOkSZNWrlxZe9auHt+G4qWXXmrTps24ceOqRt98881X Xnnlgw8+qNpSXl7etWvXd999t1evXr7HOXny5MiRI5955pmbbrqpnqcOmkWLZPFimTJF9Bfl MgAfgwQEH2+cqiFx1ZC4UohbNSSO2rp16/bOO+/4dk2jRo169NFHf/jhh8LCwqVLl3711VdV Q0OGDMnIyDhy5EhlZaXT6Zw/f/4NN9xQ44BjxoxZtWrV+PHj165dG0A9d9999+LFi9esWVNc XFxcXLxq1aopU6bMmjXL9zVr167t1atXje7XU/mMGTNM6H5FZOpU+f57c7vf4KIBBgAAABBu /vznP0+aNCkiIqLqE3TT09PPnDnTuXPnzp07/+c//1m2bFnVi+fMmfP2229feeWVMTExAwYM yM/PX7lyZe1jXnPNNe+9995jjz22cOHChtbjcDhWr169fv36Tp06XXLJJYsWLVq5cmWNNnvR okWan36UlZU1YcIEW3VnzpxpaA0QFsHyg0egVZOZmTlq1Cizq4BxSFw1JK4U4lYNiQPhjUeg geBzOp1mlwBDkbhqSFwpxK0aEgdQT9zk1MUdYAAAAAAwHXeAAQAAAABoGBpgAAAAAIASaIAB r5SUFLNLgKFIXDUkrhTiVg2JA6gnprnqYg4wAAAAAJiOOcAAAAAA0OSqPka4QU6cONG9e/ca +7pcriVLlvTu3dvhcPTp02fVqlX1H33vvfeuueaaiy66KD4+/ne/+93JkycDqApCAwwAAAAg /ATWuAaF2+2+66675syZU2P75MmTs7Oz//WvfxUUFKxYsWLNmjX1HN2yZcvtt98+ZcqU06dP 5+bm3nTTTWPHjj179qwRFxN2aIABr/T0dLNLgKFIXDUkrhTiVg2JI6QsWLAgMTFxwoQJvhu3 bt169OjRV1999dJLL42Oju7fv//atWvrOTpnzpwXX3zxtttua968efPmzSdMmPDAAw/87W9/ a+LrcImr2OdPRSKuJj6jEWiAAa/k5GSzS4ChSFw1JK4U4lYNiaMGz+1f23lV20+ePDl58uTY 2NjExMQHHnigpKTEsz0/P//BBx/s0qVLVFRUy5YtR44cuXHjRs0jb9++vW3btq+88oreqbOy sl599dWXXnqpxvb09PQHH3xQby//o7t27RozZozvll/+8pf//Oc/9V4fDJVy/H/l8Ahx/Sgi 4vpRDo+Q4/8bBj0wDTDgdf3115tdAgxF4qohcaUQt2pIHDV4Fkxyn1e1fcCAAYMGDcrLy/vi iy8KCgqmTZvm2e65ubp9+/aysrKDBw9OnTp1yZIltQ+7cePGCRMmrF69+v7779c8b2lp6cSJ E5ctW9aiRYsaQzt27CgqKho6dGhsbGyLFi1GjBjxySef1HNU09dff12P70SgXCVy7jsp/VQO j5KKw3L451K6U859J66SJjypIVjoWBerQAMAAAAWVedf5gsLC3v06HHs2DERiY6OLigocDgc fo6zfPnyJUuWrFu3rkuXLnrHnDRpUvv27WfOnFm7BofDERcXt3jxYs+93A0bNkydOvWtt966 7rrr6hwdMmTIQw89NG7cuKoTvfnmm3fddZe/acBlu6T4fT+XXzd3ufz4upR/L7YocZdL1KXS 8n/EFtWoYza7URwDA9gviK1ZZFCOAoSBnJwcP/85Q/ghcdWQuFKIWzUkjvooLS2dNWvWmjVr jhw5UlFRISJ2u/d52N69ez/88MMzZ87s0KGD5r7PPffcrl27Pvzww2bNmukdf/369Xv27Hnx xRc1Rz2LPI8fP97zR88M4ZkzZ27durXO0dmzZ3u23HTTTSKycePGKVOmVBWvrWSbnJ7m7wX1 5y4XESn/XpwzG3so2/OBNcBBxE1OXdwBVs3TTz+dmppqdhUwDomrhsSVQtyqIXHUVvsv8/fe e++pU6dmz559+eWXN2vWrKKiIioqyvOaffv2PfLII5s3b+7atevAgQN/9atf3XLLLZ4O02az nTt3rn379tnZ2e3atfNzxssuu2zLli2+/xbjW0O7du3279/v2z8XFRUlJiYWFxfXOSoiH374 4ZNPPvmf//zH5XL1799/ypQp06ZNO3DggG41Z7Ol9NP6frM0uYolf4GUHxZbrLhLJKqTXPyI 2HX7/3q56GqJuSKA/YLYmtHj6aIBBgAAACyq9l/mL7744v/+97+tW7f2/PHAgQOXXnqp72vO nj27d+/enTt3vvbaa927d//73/9edZxly5alpaVt2LChZ8+efs6oN+R2u0eMGLF+/Xq9Ftf/ aG3vvPPOihUr3njjDf/fhMC5CuXwz6T0U7noaumwWo6Ok9KdctHV0uk9sTdvqpPqC2JrxiJY AAAAAMJNREREZWWl75azZ89GR0dX/XH58uU1domJienbt+9999337rvv+n4KkYj8/ve/X7Bg wciRIz/++GO9M7prqdooIrfccsumTZt8X79x48aBA73PA/sfre3ll1++99579UaDwB4r0T3k oqulU6ZEdpJO78hFgyS6h9hjm/CkhqABBgAAABBuunXr9s477/jeNhw1atSjjz76ww8/FBYW Ll269KuvvqoaGjJkSEZGxpEjRyorK51O5/z582+44YYaBxwzZsyqVavGjx9fozeup7vvvnvx 4sVr1qwpLi4uLi5etWrVlClTZs2aVZ9RERk3blxWVlZ5efmBAwdSUlLat28/bNiwAMqotwhp 95p02iz2liIi9pbSabO0ey0M+kfLXwAQLMwdUg2Jq4bElULcqiFxeEQ+JbY5YntSbE/Kvjv+ O+FvOREREVVPJqenp585c6Zz586dO3f+z3/+s2zZsqod58yZ8/bbb1955ZUxMTEDBgzIz89f uXJl7eNfc80177333mOPPbZw4cKG1uZwOFavXr1+/fpOnTpdcsklixYtWrlyZVWb7X9URH77 29/ecccdzZs3Hz16dK9evWp/znATsFeb8WtvHh7NI9NcdTEHWDVOpzMhIcHsKmAcElcNiSuF uFVD4hCRiDRxldfcOGuYzB5qRjUIKhbBMgINMAAAAGAVtic1NkbapPxPhpeCYGMRLAAAAACo QwX3s1AdDTDglZmZaXYJMBSJq4bElULcqiFx6InU/WQiKIoGGPByOp1mlwBDkbhqSFwpxK0a EkdMmvb2VCYAozqmuepiDjAAAABgCZoTgEXEPUt7O6yFOcAAAAAAADQMDTAAAAAAaKv6GOEG OXHiRPfu3Wvs63K5lixZ0rt3b4fD0adPn1WrVgVrFPVHAwx4paSkmF0CDEXiqiFxpRC3akgc moZ1Nee8brf7rrvumjNnTo3tkydPzs7O/te//lVQULBixYo1a9YEaxT1xzRXXcwBBgAAACxB cw5wUCYAB9AUzJ8/Pysra8WKFb77bt26df78+Rs2bNDcpTGjKmAOMAAAAACIiEToLAFtO69q y8mTJydPnhwbG5uYmPjAAw+UlJR4tufn5z/44INdunSJiopq2bLlyJEjN27cqHnM7du3t23b 9pVXXtErJisr69VXX33ppZdqbE9PT3/wwQf19mrMaNP55rTcu0GGvS7/87Z8fcr48zcJGmAA AAAAFuYq197uPq9qy4ABAwYNGpSXl/fFF18UFBRMmzbNs/22225r3rz59u3by8rKDh48OHXq 1CVLltQ+4MaNGydMmLB69er7779f84ylpaUTJ05ctmxZixYtagzt2LGjqKho6NChsbGxLVq0 GDFixCeffBKU0Say57QMfFX++oV8mCPLd8vVf5Nvw+LjxnjKVxePQKsmPT39vvvuM7sKGIfE VUPiSiFu1ZC44gL7DKTCwsIePXocO3ZMRKKjowsKChwOh8bBzzcFy5cvX7Jkybp167p06aJ3 zEmTJrVv337mzJk19hURh8MRFxe3ePHiMWPGiMiGDRumTp361ltvXXfddY0c1fStUz7K8Xf5 dVqxWz45XG3LwPZyT/9GHfP6LpKcEMiOQWzNIoNyFCAMJCcnm10CDEXiqiFxpRC3akgcWipF Inz/XFpaOmvWrDVr1hw5cqSiokJE7Hbv87C9e/d++OGHZ86c2aFDB81jPffcc7t27frwww+b NWumd77169fv2bPnxRdf1Bz1LOM8fvx4zx8nTJggIjNnzty6dWsjRzV9lCMp2g9xB27XMdl1 rFFH+MuYABvgIOImpy7uAAMAAAAhLiJN5xHobU+6t1S7BXzvvfeeOnVq9uzZl19+ebNmzSoq KqKiojx/4d+3b98jjzyyefPmrl27Dhw48Fe/+tUtt9ziaY9tNtu5c+fat2+fnZ3drl07P5Vc dtllW7Zs8b0/7NtQtGvXbv/+/b79c1FRUWJiYnFxcSNHNR3Il8+P+ym2bq98Ju8frLbl+s7y 0KBGHXNAO+l2cSA7cgcYAAAAgOpmbNWdACzvzxap1gCvXbv2v//9b+vWrT1/zM3NrRrq3r37 xo0bz549u3fv3p07dz733HNvv/323//+d89oVFTUs88+O2TIkA0bNvTs2VOvmO+//z4pKanG Rs8SXG63u3fv3n4upDGjmrpdHGCrWaVXaxn0qhSf//Y2i5a//NL8+7eNxyJYgFdOTuPmScBq SFw1JK4U4lYNiStr3jbdoYiIiMrKSt8tZ8+ejY6Orvrj8uXLa+wSExPTt2/f++6779133127 dq3v0O9///sFCxaMHDny448/1juju5aqjSJyyy23bNq0yff1GzduHDhwoOfrxow2kd6tJXuS 3NNfRnSTe/rLrnvDofsVGmCgSkZGhtklwFAkrhoSVwpxq4bEUVu3bt3eeecd3+dmR40a9eij j/7www+FhYVLly796quvqoaGDBmSkZFx5MiRyspKp9M5f/78G264ocYBx4wZs2rVqvHjx9fo jevp7rvvXrx48Zo1a4qLi4uLi1etWjVlypRZs2Y1frTpdLtYXv2lvPc7eTUs7v16MM1VF3OA AQAAgFCmt/7zsK4ypcU/H3744cOHD1fdg3U6nSkpKZmZmdHR0b/+9a8XLlzYqlUrz9AHH3zw 4osvfvDBB2fOnOnQocOvf/3rOXPmtGzZUmo1Bd98880vfvGLRx555OGHH667vOr7Hj9+/PHH H9+0aVNJSUn//v2feuqp4cOHB2U07AWxNaPH00UDDAAAAIQyzQbYES2l0w0vBU0piK0Zj0AD AAAACB90v/CDBhjwSk1NNbsEGIrEVUPiSiFu1ZC4miLSzK4AFsRTvrp4BFo1TqczISFcZvej HkhcNSSuFOJWDYmrSW8CsLvJF4eC0ZgDbAQaYAAAACBk0QCrgznAAAAAAFBTRJTZFSC00QAD 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 VH1OGvC+gflUDoySsi+85z00TAqek7LPvOf1FqBXlbWuVET2yrG7JG+JlH0jUia5YyVvupR9 IFImZZ9JWZbfehpZsCnX63FGCl6XYynelAv+Kcduk4KXfFL2f+2WS9nXp5rdr1cTXjjUYsmb nOvWrUtLS/v88889f0xMTMzOzk5MTKx6wYkTJ/r163f8+PE6R/3gDrBq0tPT77vvPrOrgHFI PAxEPiWVbpHz/6m2idjt4nJJpF0GtpfPjkt5pUTa5bHBMm9EzcRnvi/Pbq/2gnoKeMeA1bhM EYmwi4julQa94ECOYLdL1XuoJ5XWreXUKe+WNm3k9OlqW0RE5KI/nS2LiKl2HJuIW6Ls8thg ibTrlNGmzcz+U5697onyyqhIW8VjPV6Y13d67YOIiNiipEeBlO2WnMEikdKjYOb79me3S3ll VKRdHhtsm3fdzqohEYfuRdls4nZLnF0+cUmkSNKn0vmX0uG0rDx/itr7+lxyzUD1rnHX4nkb plZ9l2a+L89ud5VX2i5cY1x3KdjnPYJESZfNkjNMJFJExF0hSTvEMUjKdkrO4JlfzX1274zy SnekreKxq07PG9Xes137Smtcpt0usS7ZIRJpk0mt5IN8GXaxvHJGY1+fa7xorpS5qv3QVl1m zZ/Y2y/sVf0n7di8jh20UhSxRYq7QkQk6UNxDJn53tFnd7Yur4yKtNvO/2AUyXfxNb4JNQv2 8yParY3867Q32dq7+71Mu01sNu/vpsYP7e0aP/nVr7poXscW1eK48NPrSXmjHPp51bVL2c6Z G997du8T5ZXRkXZ5bPC5eZ2a17zwcrcMrN4Megqo+WtY/Zt2Q7wszZcKkT6lGj/P50U9JRWa /xGurHhsx/Pzds+f+eYpP//1qH7tB+Z1vNS2Svvv3u4/vFvjwuXQ1T6/bj7Fxw6Wvm5ZKXUW D2tR7g6wr7y8vBkzZrzwwgtVW/Lz8+Pj431fc8kll+Tl5dVnFKiSnJxsdgkwFIlbXUSaVFb/ q6dbpNIlbpFyl2w/IucqvV8/84nM/rBa4jO2ytyPar6gPgLeMWC1L1NEKl3+rjS4Bdf3CHa7 2Gze/2/TRnz/muJyiYicO3dhi+dr3y0iMWlSs/sV74V7zqtXxoyr/jD36j+eq4x2i63cHfXM 3mmz98yufRAREXe55D8nOYPF7RZ3xYz3CuZ+FO3d0WV75hOZvekdz5CU7de4xqqL8nzR3uVp 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 wx/+cM0111RVVWn2oeCBd4nffPPNGzdudN26fv36rq2eXwt99UXincxxo3IXd7d9uo14/jIw wY2sLxLvZIIbmHeJe97KHDeyvki8kzluYL4n3tjY+N3vfveDDz7oGrniHFeuAXY6e/bsX/7y l6SkpKeeeso54vlf6vnnnx85cuS7775rtVqtVuu7776bkpLywgsvuHv/1157bf78+X1XP67W 1SZeXl6ekJCwceNGi8VisVhKSkri4+MjIiJ681oYgX8T74k5big943ZFAxx4/Jt4T0xwo7na xD1vZY4bn38T74k5bjReJ/71119nZmbu2LHDdZAG2JNPPvkkKSnJ+TghIeHrr7923VpfXz90 6FDn4+Tk5IqKCtetFRUVKSkp7t75/PnzUVFR/q4Xvup94p2dnbt27crKyoqKioqMjJw5c+aG DRu6Er/ia2EQ/kq8J+a4AbnG7arnf5yevwxM8P7CX4n3xAQ3pt4n7nkrc7y/8FfiPTHHjelq E6+rq0tLS+vW/Xb2Yo4rugbYKSMj45tvvnE+Hj9+/MGDB123Hjp0aNy4cc7HJ0+ezMjIcN2a np5+8uRJd+/cydXVDan3iYvIrFmzdu7cabFYbDbb3/72t4EDB86YMaOXr4VB+CvxnpjjBuQa t2eevwxM8P7CX4n3xAQ3pt4n7hlzvL/wV+I9MceN6aoSP3Xq1Pe///2VK1fOmTOn26YrznGl G+CKioqxY8c6H2dnZ69bt85167p16xYsWOB8PHz48KqqKtetBw4cSEpKcvfOGzdunDlzpr/r ha96n3hPr7zyyvLly717LfTir8R7Yo4bkGvcnnn+MjDB+wt/Jd4TE9yYep+4Z8zx/sJfiffE HDem3id++vTpW2+99YUXXpg9e3bPrVee4z4dqO5X5s2bt2nTptOnT3d0dDQ0NKxfv3748OHb tm1zbj1//nxKSsrzzz/f1NTU1NT03HPPjRo1ymKxOLe+/PLLo0ePfu+992w2m81m27ZtW3Jy 8m9/+1vn1tmzZ//pT3+qr6/v6Oior69/6aWX4uPj9+/fr8/nxL/4knhnZ+ddd91VVVXV1tb2 1VdfPfDAAw8++GDXpiu+Frrou8SZ4wbkOW5XPf+n8/xlYIIbU98lzgQ3Jl8S97yVOW5MfZc4 c9yYfEl88uTJ69evd/fOV5zjCjXAO3fu/MEPfjBkyBDnNdBzcnK6Les9duzYwoULY2JiYmJi Fi5cePz4cdeta9euTU9PDw8PDw8PT09PX7NmTdem8vLyO++80/nO11577eLFi48eParRp4J7 PiZeUlIybty4sLCwsWPHrlq1ym639/610EXfJc4cN6Arxn3Zvxl3bfX8ZWCCG1DfJc4ENyYf E/flNwB00XeJM8eNyZfEL7upubm567We57jJ3VsAAAAAABBIlF4DDAAAAABQBw0wAAAAAEAJ NMAAAAAAACXQAAMAAAAAlEADDAAAAABQAg0wAAAAAEAJNMAAAAAAACXQAAMAAAAAlEADDAAA AABQAg0wAAAAAEAJNMAAAAAAACXQAAMAAAAAlEADDAAAAABQAg0wAAAAAEAJNMAAAAAAACXQ AAMAAAAAlEADDACAQZlMpr7+EceOHYuIiMjPz7/invn5+REREcePH+/rkgAA6Dumzs5OvWsA AABiMnX/T7nniN8tWbJk//79+/fvDw8P97xnS0vLlClTpk2b9uqrr/ZpSQAA9B0aYAAADEGD dreb+vr6ESNGvP/++5mZmb3Zf9euXfPnz6+trU1ISOjr2gAA6AucAg0AgP6cZzub/sV10Png woULy5cvHzx48MCBA5944omOjg6LxbJs2bKBAwfGxsY++uijHR0dXe/24YcfTp06NSIiIjk5 ee3ate5+aElJycyZM1273+bm5kceeWTEiBGhoaEDBw6cO3duaWlp19bvfe97U6dO3bBhg38/ OwAAmqEBBgBAf85jv53/0nOHhx9+eM6cOXV1ddXV1VVVVStWrCgoKJg7d259fX11dfVnn332 y1/+0rnnp59+evfdd//0pz89d+7cli1bXnzxxW3btl32h+7YsSMvL8915Ic//GF0dPTHH3/c 0tJy7NixH//4xy+//LLrDkuWLNm+fbt/PjMAAJrjFGgAAAzBwxpgk8lUVFS0fPly5/i+fftm zZq1atWqrpHKysr77ruvurpaRO65557MzMxHHnnEuamsrOxXv/rVjh07ev7EYcOG7dq1a/To 0V0jYWFh58+fj4iIcFfk3//+9zlz5pw4ccKnjwoAgE5ogAEAMATPDfCZM2fi4uKc4y0tLZGR kd1GYmNjW1paRGTo0KF79+4dMWKEc5PVah02bFhzc3PPnxgaGmq1WsPCwrpG0tPTp02b9vOf //zaa6+9bJFtbW3R0dFtbW2+floAAPTAKdAAAPQDXb2uiDiP0HYbaW1tdT5ubGxMTk7uWk4c HR197ty5Xv6UjRs31tXVjRo1KjU1NS8v7+2333Y4HP77EAAA6IwGGACAgBIbG9vU1NTpwl0T O3To0G4nM1933XWlpaXnzp0rKSm56aabVqxYsWTJEtcdjh8/PnTo0D6sHgCAvkQDDACAIQQH B9vtdt/fJysra/Pmzb3Zc9KkSR999FHP8fDw8LS0tAceeGD79u1//vOfXTft3r170qRJvhcJ AIAuaIABADCEkSNHvvfee75fm+Ppp5/+2c9+tmHDBqvVarVay8vLb7/99svuOW/evOLiYteR zMzM4uLiuro6u93e0NCwcuXKrKws1x3++Mc/zps3z8cKAQDQCw0wAACG8OKLLxYUFAQHB3fd /tc748ePLy0tfeONNxITE+Pj45977rmHHnrosnvm5uZ+9NFHe/bs6Rp55plnNm3aNHny5PDw 8ClTpjQ3N69fv75r6+7duz/55JPc3FxfygMAQEdcBRoAAHUtWbKkqqpq3759rteCvqzW1tbr r79+ypQpr7/+uialAQDgfzTAAACo69ixY6mpqffdd9/vf/97z3s++OCDr7/++ueff56SkqJN bQAA+B0NMAAAAABACawBBgAAAAAogQYYAAAAAKAEGmAAAAAAgBJogAEAAAAASvj/MVDCbsCd 6IcAAAAASUVORK5CYII= --7JfCtLOvnd9MIVvH-- -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx140.postini.com [74.125.245.140]) by kanga.kvack.org (Postfix) with SMTP id 75C6A6B13F0 for ; Tue, 14 Feb 2012 10:51:30 -0500 (EST) Date: Tue, 14 Feb 2012 15:51:24 +0000 From: Mel Gorman Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120214155124.GC5938@suse.de> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20120214131812.GA17625@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Tue, Feb 14, 2012 at 09:18:12PM +0800, Wu Fengguang wrote: > > For the OOM problem, a more reasonable stopgap might be to identify when > > a process is scanning a memcg at high priority and encountered all > > PageReclaim with no forward progress and to congestion_wait() if that > > situation occurs. A preferable way would be to wait until the flusher > > wakes up a waiter on PageReclaim pages to be written out because we want > > to keep moving way from congestion_wait() if at all possible. > > Good points! Below is the more serious page reclaim changes. > > The dirty/writeback pages may often come close to each other in the > LRU list, so the local test during a 32-page scan may still trigger > reclaim waits unnecessarily. Yes, this is particularly the case when writing back to USB. It is not unusual that all dirty pages under writeback are backed by USB and at the end of the LRU. Right now what happens is that reclaimers see higher CPU usage as they scan over these pages uselessly. If the wrong choice is made on how to throttle, we'll see yet more variants of the "system responsiveness drops when writing to USB". > Some global information on the percent > of dirty/writeback pages in the LRU list may help. Anyway the added > tests should still be much better than no protection. > You can tell how many dirty pages and writeback pages are in the zone already. > A global wait queue and reclaim_wait() is introduced. The waiters will > be wakeup when pages are rotated by end_page_writeback() or lru drain. > > I have to say its effectiveness depends on the filesystem... ext4 > and btrfs do fluent IO completions, so reclaim_wait() works pretty > well: > dd-14560 [017] .... 1360.894605: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > dd-14560 [017] .... 1360.904456: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=8000 > dd-14560 [017] .... 1360.908293: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > dd-14560 [017] .... 1360.923960: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > dd-14560 [017] .... 1360.927810: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > dd-14560 [017] .... 1360.931656: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > dd-14560 [017] .... 1360.943503: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > dd-14560 [017] .... 1360.953289: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=7000 > dd-14560 [017] .... 1360.957177: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > dd-14560 [017] .... 1360.972949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > However XFS does IO completions in very large batches (there may be > only several big IO completions in one second). So reclaim_wait() > mostly end up waiting to the full HZ/10 timeout: > > dd-4177 [008] .... 866.367661: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [010] .... 866.567583: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [012] .... 866.767458: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [013] .... 866.867419: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [008] .... 867.167266: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [010] .... 867.367168: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [012] .... 867.818950: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [013] .... 867.918905: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [013] .... 867.971657: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > dd-4177 [013] .... 867.971812: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=0 > dd-4177 [008] .... 868.355700: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > dd-4177 [010] .... 868.700515: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > And where people will get hit by regressions in this area is writing to vfat and in more rare cases ntfs on USB stick. > > Another possibility would be to relook at LRU_IMMEDIATE but right now it > > requires a page flag and I haven't devised a way around that. Besides, > > it would only address the problem of PageREclaim pages being encountered, > > it would not handle the case where a memcg was filled with PageReclaim pages. > > I also considered things like LRU_IMMEDIATE, however got no clear idea yet. > Since the simple "wait on PG_reclaim" approach appears to work for this > memcg dd case, it effectively disables me to think any further ;-) > Test with interactive use while writing heavily to a USB stick. > For the single dd inside memcg, ext4 is now working pretty well, with > least CPU overheads: > > (running from another test box, so not directly comparable with old tests) > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.03 0.00 0.85 5.35 0.00 93.77 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 112.00 0.00 57348.00 1024.07 81.66 1045.21 8.93 100.00 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.00 0.00 0.69 4.07 0.00 95.24 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 142.00 0.00 112.00 0.00 56832.00 1014.86 127.94 790.04 8.93 100.00 > > And xfs a bit less fluent: > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.00 0.00 3.79 2.54 0.00 93.68 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 108.00 0.00 54644.00 1011.93 48.13 1044.83 8.44 91.20 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.00 0.00 3.38 3.88 0.00 92.74 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 105.00 0.00 53156.00 1012.50 128.50 451.90 9.25 97.10 > > btrfs also looks good: > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.00 0.00 8.05 3.85 0.00 88.10 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 108.00 0.00 53248.00 986.07 88.11 643.99 9.26 100.00 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.00 0.00 4.04 2.51 0.00 93.45 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 112.00 0.00 57344.00 1024.00 91.58 998.41 8.93 100.00 > > --- > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 > +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > long congestion_wait(int sync, long timeout); > long wait_iff_congested(struct zone *zone, int sync, long timeout); > +long reclaim_wait(long timeout); > +void reclaim_rotated(void); > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > { > --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 > +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 > @@ -873,3 +873,38 @@ out: > return ret; > } > EXPORT_SYMBOL(wait_iff_congested); > + > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > + > +/** > + * reclaim_wait - wait for some pages being rotated to the LRU tail > + * @timeout: timeout in jiffies > + * > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > + * pages rotated to the LRU so that page reclaim can make progress. > + */ > +long reclaim_wait(long timeout) > +{ > + long ret; > + unsigned long start = jiffies; > + DEFINE_WAIT(wait); > + > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > + ret = io_schedule_timeout(timeout); > + finish_wait(&reclaim_wqh, &wait); > + > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > + jiffies_to_usecs(jiffies - start)); > + > + return ret; > +} > +EXPORT_SYMBOL(reclaim_wait); > + > +void reclaim_rotated() > +{ > + wait_queue_head_t *wqh = &reclaim_wqh; > + > + if (waitqueue_active(wqh)) > + wake_up(wqh); > +} > + > --- linux.orig/mm/swap.c 2012-02-14 19:40:10.000000000 +0800 > +++ linux/mm/swap.c 2012-02-14 19:45:13.000000000 +0800 > @@ -253,6 +253,7 @@ static void pagevec_move_tail(struct pag > > pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved); > __count_vm_events(PGROTATED, pgmoved); > + reclaim_rotated(); > } > > /* > --- linux.orig/mm/vmscan.c 2012-02-14 17:53:27.000000000 +0800 > +++ linux/mm/vmscan.c 2012-02-14 19:44:11.000000000 +0800 > @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st > struct scan_control *sc, > int priority, > unsigned long *ret_nr_dirty, > - unsigned long *ret_nr_writeback) > + unsigned long *ret_nr_writeback, > + unsigned long *ret_nr_pgreclaim) > { > LIST_HEAD(ret_pages); > LIST_HEAD(free_pages); > @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st > unsigned long nr_congested = 0; > unsigned long nr_reclaimed = 0; > unsigned long nr_writeback = 0; > + unsigned long nr_pgreclaim = 0; > > cond_resched(); > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > if (PageWriteback(page)) { > nr_writeback++; > + if (PageReclaim(page)) > + nr_pgreclaim++; > + else > + SetPageReclaim(page); > /* This check is unexpected. We already SetPageReclaim when queuing pages for IO from reclaim context and if dirty pages are encountered during the LRU scan that cannot be queued for IO. How often is it that nr_pgreclaim != nr_writeback and by how much do they differ? > * Synchronous reclaim cannot queue pages for > * writeback due to the possibility of stack overflow > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > nr_dirty++; > > /* > - * Only kswapd can writeback filesystem pages to > - * avoid risk of stack overflow but do not writeback > - * unless under significant pressure. > + * run into the visited page again: we are scanning > + * faster than the flusher can writeout dirty pages > */ which in itself is not an abnormal condition. We get into this situation when writing to USB. Dirty throttling stops too much memory getting dirtied but that does not mean we should throttle instead of reclaiming clean pages. That's why I worry that if this is aimed at fixing a memcg problem, it will have the impact of making interactive performance on normal systems worse. > - if (page_is_file_cache(page) && > - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { > + if (page_is_file_cache(page) && PageReclaim(page)) { > + nr_pgreclaim++; > + goto keep_locked; > + } > + if (page_is_file_cache(page) && mapping && > + flush_inode_page(mapping, page, false) >= 0) { > /* > * Immediately reclaim when written back. > * Similar in principal to deactivate_page() > @@ -1028,6 +1037,7 @@ keep_lumpy: > count_vm_events(PGACTIVATE, pgactivate); > *ret_nr_dirty += nr_dirty; > *ret_nr_writeback += nr_writeback; > + *ret_nr_pgreclaim += nr_pgreclaim; > return nr_reclaimed; > } > > @@ -1087,8 +1097,10 @@ int __isolate_lru_page(struct page *page > */ > if (mode & (ISOLATE_CLEAN|ISOLATE_ASYNC_MIGRATE)) { > /* All the caller can do on PageWriteback is block */ > - if (PageWriteback(page)) > + if (PageWriteback(page)) { > + SetPageReclaim(page); > return ret; > + } > This hunk means that if async compaction (common for THP) encounters a page under writeback, it will still skip it but mark it for immediate reclaim after IO completes. This will have the impact that compaction causes an abnormally high number of pages to be reclaimed. > if (PageDirty(page)) { > struct address_space *mapping; > @@ -1509,6 +1521,7 @@ shrink_inactive_list(unsigned long nr_to > unsigned long nr_file; > unsigned long nr_dirty = 0; > unsigned long nr_writeback = 0; > + unsigned long nr_pgreclaim = 0; > isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; > struct zone *zone = mz->zone; > > @@ -1559,13 +1572,13 @@ shrink_inactive_list(unsigned long nr_to > spin_unlock_irq(&zone->lru_lock); > > nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, > - &nr_dirty, &nr_writeback); > + &nr_dirty, &nr_writeback, &nr_pgreclaim); > > /* Check if we should syncronously wait for writeback */ > if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { > set_reclaim_mode(priority, sc, true); > nr_reclaimed += shrink_page_list(&page_list, mz, sc, > - priority, &nr_dirty, &nr_writeback); > + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); > } > > spin_lock_irq(&zone->lru_lock); > @@ -1608,6 +1621,8 @@ shrink_inactive_list(unsigned long nr_to > */ > if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority))) > + reclaim_wait(HZ/10); > We risk going to sleep too easily when USB-backed pages are at the end of the LRU list. Note that the nr_writeback check only goes to sleep if it detects that the underlying storage is also congested. In contrast, it will take very few PageReclaim pages at teh end of the LRU to cause the process to sleep when it instead should find clean pages to discard. If the intention is to avoid memcg going OOM prematurely, the nr_pgreclaim value needs to be treated at a higher level that records how many PageReclaim pages were encountered. If no progress was made because all the pages were PageReclaim, then throttle and return 1 to the page allocator where it will retry the allocation without going OOM after some pages have been cleaned and reclaimed. > trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, > zone_idx(zone), > @@ -2382,8 +2397,6 @@ static unsigned long do_try_to_free_page > */ > writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; > if (total_scanned > writeback_threshold) { > - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, > - WB_REASON_TRY_TO_FREE_PAGES); > sc->may_writepage = 1; > } > -- Mel Gorman SUSE Labs -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx177.postini.com [74.125.245.177]) by kanga.kvack.org (Postfix) with SMTP id 28A566B004A for ; Wed, 15 Feb 2012 19:02:03 -0500 (EST) Received: from m1.gw.fujitsu.co.jp (unknown [10.0.50.71]) by fgwmail5.fujitsu.co.jp (Postfix) with ESMTP id 376593EE0BD for ; Thu, 16 Feb 2012 09:02:01 +0900 (JST) Received: from smail (m1 [127.0.0.1]) by outgoing.m1.gw.fujitsu.co.jp (Postfix) with ESMTP id 20E4245DE59 for ; Thu, 16 Feb 2012 09:02:01 +0900 (JST) Received: from s1.gw.fujitsu.co.jp (s1.gw.fujitsu.co.jp [10.0.50.91]) by m1.gw.fujitsu.co.jp (Postfix) with ESMTP id F17C745DE55 for ; Thu, 16 Feb 2012 09:02:00 +0900 (JST) Received: from s1.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s1.gw.fujitsu.co.jp (Postfix) with ESMTP id E5475E08002 for ; Thu, 16 Feb 2012 09:02:00 +0900 (JST) Received: from m105.s.css.fujitsu.com (m105.s.css.fujitsu.com [10.240.81.145]) by s1.gw.fujitsu.co.jp (Postfix) with ESMTP id 9F80F1DB803F for ; Thu, 16 Feb 2012 09:02:00 +0900 (JST) Date: Thu, 16 Feb 2012 09:00:37 +0900 From: KAMEZAWA Hiroyuki Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-Id: <20120216090037.31d04ec7.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20120214131812.GA17625@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Mel Gorman , Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , Rik van Riel , Minchan Kim On Tue, 14 Feb 2012 21:18:12 +0800 Wu Fengguang wrote: > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 > +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > long congestion_wait(int sync, long timeout); > long wait_iff_congested(struct zone *zone, int sync, long timeout); > +long reclaim_wait(long timeout); > +void reclaim_rotated(void); > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > { > --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 > +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 > @@ -873,3 +873,38 @@ out: > return ret; > } > EXPORT_SYMBOL(wait_iff_congested); > + > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > + > +/** > + * reclaim_wait - wait for some pages being rotated to the LRU tail > + * @timeout: timeout in jiffies > + * > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > + * pages rotated to the LRU so that page reclaim can make progress. > + */ > +long reclaim_wait(long timeout) > +{ > + long ret; > + unsigned long start = jiffies; > + DEFINE_WAIT(wait); > + > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > + ret = io_schedule_timeout(timeout); > + finish_wait(&reclaim_wqh, &wait); > + > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > + jiffies_to_usecs(jiffies - start)); > + > + return ret; > +} > +EXPORT_SYMBOL(reclaim_wait); > + > +void reclaim_rotated() > +{ > + wait_queue_head_t *wqh = &reclaim_wqh; > + > + if (waitqueue_active(wqh)) > + wake_up(wqh); > +} > + Thank you. I like this approach. A nitpick is that this may wake up all waiters in the system when a memcg is rotated. How about wait_event() + condition by bitmap (using per memcg unique IDs.) ? Thanks, -Kame -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx102.postini.com [74.125.245.102]) by kanga.kvack.org (Postfix) with SMTP id 8DF316B004A for ; Wed, 15 Feb 2012 22:14:24 -0500 (EST) Date: Thu, 16 Feb 2012 11:04:15 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216030415.GA17597@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120216090037.31d04ec7.kamezawa.hiroyu@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216090037.31d04ec7.kamezawa.hiroyu@jp.fujitsu.com> Sender: owner-linux-mm@kvack.org List-ID: To: KAMEZAWA Hiroyuki Cc: Mel Gorman , Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , Rik van Riel , Minchan Kim On Thu, Feb 16, 2012 at 09:00:37AM +0900, KAMEZAWA Hiroyuki wrote: > On Tue, 14 Feb 2012 21:18:12 +0800 > Wu Fengguang wrote: > > > > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 > > +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 > > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > > long congestion_wait(int sync, long timeout); > > long wait_iff_congested(struct zone *zone, int sync, long timeout); > > +long reclaim_wait(long timeout); > > +void reclaim_rotated(void); > > > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > > { > > --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 > > +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 > > @@ -873,3 +873,38 @@ out: > > return ret; > > } > > EXPORT_SYMBOL(wait_iff_congested); > > + > > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > > + > > +/** > > + * reclaim_wait - wait for some pages being rotated to the LRU tail > > + * @timeout: timeout in jiffies > > + * > > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > > + * pages rotated to the LRU so that page reclaim can make progress. > > + */ > > +long reclaim_wait(long timeout) > > +{ > > + long ret; > > + unsigned long start = jiffies; > > + DEFINE_WAIT(wait); > > + > > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > > + ret = io_schedule_timeout(timeout); > > + finish_wait(&reclaim_wqh, &wait); > > + > > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > > + jiffies_to_usecs(jiffies - start)); > > + > > + return ret; > > +} > > +EXPORT_SYMBOL(reclaim_wait); > > + > > +void reclaim_rotated() > > +{ > > + wait_queue_head_t *wqh = &reclaim_wqh; > > + > > + if (waitqueue_active(wqh)) > > + wake_up(wqh); > > +} > > + > > Thank you. > > I like this approach. A nitpick is that this may wake up all waiters > in the system when a memcg is rotated. Thank you. It sure helps to start it simple :-) > How about wait_event() + condition by bitmap (using per memcg unique IDs.) ? I'm not sure how to manage the bitmap. The idea in my mind is to - maintain a memcg->pages_rotated counter - in reclaim_wait(), grab the current ->pages_rotated value before going to wait, compare it to the new value on every wakeup, and return to the user when seeing a different ->pages_rotated value. (this cannot stop waking up multiple tasks in the same memcg...) Does that sound reasonable? Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx176.postini.com [74.125.245.176]) by kanga.kvack.org (Postfix) with SMTP id C868F6B004A for ; Wed, 15 Feb 2012 22:53:53 -0500 (EST) Received: from m4.gw.fujitsu.co.jp (unknown [10.0.50.74]) by fgwmail5.fujitsu.co.jp (Postfix) with ESMTP id 9E79B3EE0BC for ; Thu, 16 Feb 2012 12:53:51 +0900 (JST) Received: from smail (m4 [127.0.0.1]) by outgoing.m4.gw.fujitsu.co.jp (Postfix) with ESMTP id 8009645DE54 for ; Thu, 16 Feb 2012 12:53:51 +0900 (JST) Received: from s4.gw.fujitsu.co.jp (s4.gw.fujitsu.co.jp [10.0.50.94]) by m4.gw.fujitsu.co.jp (Postfix) with ESMTP id EBD5B45DD74 for ; Thu, 16 Feb 2012 12:53:50 +0900 (JST) Received: from s4.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s4.gw.fujitsu.co.jp (Postfix) with ESMTP id DEC2F1DB8042 for ; Thu, 16 Feb 2012 12:53:50 +0900 (JST) Received: from ml13.s.css.fujitsu.com (ml13.s.css.fujitsu.com [10.240.81.133]) by s4.gw.fujitsu.co.jp (Postfix) with ESMTP id 87A9F1DB803E for ; Thu, 16 Feb 2012 12:53:50 +0900 (JST) Date: Thu, 16 Feb 2012 12:52:21 +0900 From: KAMEZAWA Hiroyuki Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-Id: <20120216125221.81424ebc.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20120216030415.GA17597@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120216090037.31d04ec7.kamezawa.hiroyu@jp.fujitsu.com> <20120216030415.GA17597@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Mel Gorman , Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , Rik van Riel , Minchan Kim On Thu, 16 Feb 2012 11:04:15 +0800 Wu Fengguang wrote: > On Thu, Feb 16, 2012 at 09:00:37AM +0900, KAMEZAWA Hiroyuki wrote: > > On Tue, 14 Feb 2012 21:18:12 +0800 > > Wu Fengguang wrote: > > > > > > > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 > > > +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 > > > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > > > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > > > long congestion_wait(int sync, long timeout); > > > long wait_iff_congested(struct zone *zone, int sync, long timeout); > > > +long reclaim_wait(long timeout); > > > +void reclaim_rotated(void); > > > > > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > > > { > > > --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 > > > +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 > > > @@ -873,3 +873,38 @@ out: > > > return ret; > > > } > > > EXPORT_SYMBOL(wait_iff_congested); > > > + > > > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > > > + > > > +/** > > > + * reclaim_wait - wait for some pages being rotated to the LRU tail > > > + * @timeout: timeout in jiffies > > > + * > > > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > > > + * pages rotated to the LRU so that page reclaim can make progress. > > > + */ > > > +long reclaim_wait(long timeout) > > > +{ > > > + long ret; > > > + unsigned long start = jiffies; > > > + DEFINE_WAIT(wait); > > > + > > > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > > > + ret = io_schedule_timeout(timeout); > > > + finish_wait(&reclaim_wqh, &wait); > > > + > > > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > > > + jiffies_to_usecs(jiffies - start)); > > > + > > > + return ret; > > > +} > > > +EXPORT_SYMBOL(reclaim_wait); > > > + > > > +void reclaim_rotated() > > > +{ > > > + wait_queue_head_t *wqh = &reclaim_wqh; > > > + > > > + if (waitqueue_active(wqh)) > > > + wake_up(wqh); > > > +} > > > + > > > > Thank you. > > > > I like this approach. A nitpick is that this may wake up all waiters > > in the system when a memcg is rotated. > > Thank you. It sure helps to start it simple :-) > > > How about wait_event() + condition by bitmap (using per memcg unique IDs.) ? > > I'm not sure how to manage the bitmap. The idea in my mind is to > > - maintain a memcg->pages_rotated counter > > - in reclaim_wait(), grab the current ->pages_rotated value before > going to wait, compare it to the new value on every wakeup, and > return to the user when seeing a different ->pages_rotated value. > (this cannot stop waking up multiple tasks in the same memcg...) > > Does that sound reasonable? > Maybe. But there may be problem in looking up memcg from page at every rotation. I think it's ok to start with a way ignoring per-memcg status. Sorry for noise. Thanks, -Kame -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx158.postini.com [74.125.245.158]) by kanga.kvack.org (Postfix) with SMTP id 7FCD66B004A for ; Wed, 15 Feb 2012 23:10:26 -0500 (EST) Date: Thu, 16 Feb 2012 12:00:19 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216040019.GB17597@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120214132950.GE1934@quack.suse.cz> Sender: owner-linux-mm@kvack.org List-ID: To: Jan Kara Cc: Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Tue, Feb 14, 2012 at 02:29:50PM +0100, Jan Kara wrote: > > > I wonder what happens if you run: > > > mkdir /cgroup/x > > > echo 100M > /cgroup/x/memory.limit_in_bytes > > > echo $$ > /cgroup/x/tasks > > > > > > for (( i = 0; i < 2; i++ )); do > > > mkdir /fs/d$i > > > for (( j = 0; j < 5000; j++ )); do > > > dd if=/dev/zero of=/fs/d$i/f$j bs=1k count=50 > > > done & > > > done > > > > That's a very good case, thanks! > > > > > Because for small files the writearound logic won't help much... > > > > Right, it also means the native background work cannot be more I/O > > efficient than the pageout works, except for the overheads of more > > work items.. > Yes, that's true. > > > > Also the number of work items queued might become interesting. > > > > It turns out that the 1024 mempool reservations are not exhausted at > > all (the below patch as a trace_printk on alloc failure and it didn't > > trigger at all). > > > > Here is the representative iostat lines on XFS (full "iostat -kx 1 20" log attached): > > > > avg-cpu: %user %nice %system %iowait %steal %idle > > 0.80 0.00 6.03 0.03 0.00 93.14 > > > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > > sda 0.00 205.00 0.00 163.00 0.00 16900.00 207.36 4.09 21.63 1.88 30.70 > > > > The attached dirtied/written progress graph looks interesting. > > Although the iostat disk utilization is low, the "dirtied" progress > > line is pretty straight and there is no single congestion_wait event > > in the trace log. Which makes me wonder if there are some unknown > > blocking issues in the way. > Interesting. I'd also expect we should block in reclaim path. How fast > can dd threads progress when there is no cgroup involved? I tried running the dd tasks in global context with echo $((100<<20)) > /proc/sys/vm/dirty_bytes and got mostly the same results on XFS: avg-cpu: %user %nice %system %iowait %steal %idle 0.85 0.00 8.88 0.00 0.00 90.26 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 50.00 0.00 23036.00 921.44 9.59 738.02 7.38 36.90 avg-cpu: %user %nice %system %iowait %steal %idle 0.95 0.00 8.95 0.00 0.00 90.11 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 854.00 0.00 99.00 0.00 19552.00 394.99 34.14 87.98 3.82 37.80 Interestingly, ext4 shows comparable throughput, however is reporting near 100% disk utilization: avg-cpu: %user %nice %system %iowait %steal %idle 0.76 0.00 9.02 0.00 0.00 90.23 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 317.00 0.00 20956.00 132.21 28.57 82.71 3.16 100.10 avg-cpu: %user %nice %system %iowait %steal %idle 0.82 0.00 8.95 0.00 0.00 90.23 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 402.00 0.00 24388.00 121.33 21.09 58.55 2.42 97.40 avg-cpu: %user %nice %system %iowait %steal %idle 0.82 0.00 8.99 0.00 0.00 90.19 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 409.00 0.00 21996.00 107.56 15.25 36.74 2.30 94.10 And btrfs shows avg-cpu: %user %nice %system %iowait %steal %idle 0.76 0.00 23.59 0.00 0.00 75.65 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 801.00 0.00 141.00 0.00 48984.00 694.81 41.08 291.36 6.11 86.20 avg-cpu: %user %nice %system %iowait %steal %idle 0.72 0.00 12.65 0.00 0.00 86.62 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 792.00 0.00 69.00 0.00 15288.00 443.13 22.74 69.35 4.09 28.20 avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 23.11 0.00 0.00 76.06 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 73.00 0.00 33280.00 911.78 22.09 548.58 8.10 59.10 > > > Another common case to test - run 'slapadd' command in each cgroup to > > > create big LDAP database. That does pretty much random IO on a big mmaped > > > DB file. > > > > I've not used this. Will it need some configuration and data feed? > > fio looks more handy to me for emulating mmap random IO. > Yes, fio can generate random mmap IO. It's just that this is a real life > workload. So it is not completely random, it happens on several files and > is also interleaved with other memory allocations from DB. I can send you > the config files and data feed if you are interested. I'm very interested, thank you! > > > > +/* > > > > + * schedule writeback on a range of inode pages. > > > > + */ > > > > +static struct wb_writeback_work * > > > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > > > + struct inode *inode, > > > > + pgoff_t offset, > > > > + pgoff_t len, > > > > + bool wait) > > > > +{ > > > > + struct wb_writeback_work *work; > > > > + > > > > + if (!igrab(inode)) > > > > + return ERR_PTR(-ENOENT); > > > One technical note here: If the inode is deleted while it is queued, this > > > reference will keep it living until flusher thread gets to it. Then when > > > flusher thread puts its reference, the inode will get deleted in flusher > > > thread context. I don't see an immediate problem in that but it might be > > > surprising sometimes. Another problem I see is that if you try to > > > unmount the filesystem while the work item is queued, you'll get EBUSY for > > > no apparent reason (for userspace). > > > > Yeah, we need to make umount work. > The positive thing is that if the inode is reaped while the work item is > queue, we know all that needed to be done is done. So we don't really need > to pin the inode. But I do need to make sure the *inode pointer does not point to some invalid memory at work exec time. Is this possible without raising ->i_count? > > And I find the pageout works seem to have some problems with ext4. > > For example, this can be easily triggered with 10 dd tasks running > > inside the 100MB limited memcg: > So journal thread is getting stuck while committing transaction. Most > likely waiting for some dd thread to stop a transaction so that commit can > proceed. The processes waiting in start_this_handle() are just secondary > effect resulting from the first problem. It might be interesting to get > stack traces of all bloked processes when the journal thread is stuck. For completeness of discussion, citing your conclusion on my private data feed: : We enter memcg reclaim from grab_cache_page_write_begin() and are : waiting in congestion_wait(). Because grab_cache_page_write_begin() is : called with transaction started, this blocks transaction from : committing and subsequently blocks all other activity on the : filesystem. The fact is this isn't new with your patches, just your : changes or the fact that we are running in a memory constrained cgroup : make this more visible. Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx104.postini.com [74.125.245.104]) by kanga.kvack.org (Postfix) with SMTP id 5539B6B004A for ; Wed, 15 Feb 2012 23:15:59 -0500 (EST) Date: Thu, 16 Feb 2012 12:05:49 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216040549.GA25836@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120216090037.31d04ec7.kamezawa.hiroyu@jp.fujitsu.com> <20120216030415.GA17597@localhost> <20120216125221.81424ebc.kamezawa.hiroyu@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216125221.81424ebc.kamezawa.hiroyu@jp.fujitsu.com> Sender: owner-linux-mm@kvack.org List-ID: To: KAMEZAWA Hiroyuki Cc: Mel Gorman , Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , Rik van Riel , Minchan Kim On Thu, Feb 16, 2012 at 12:52:21PM +0900, KAMEZAWA Hiroyuki wrote: > On Thu, 16 Feb 2012 11:04:15 +0800 > Wu Fengguang wrote: > > > On Thu, Feb 16, 2012 at 09:00:37AM +0900, KAMEZAWA Hiroyuki wrote: > > > On Tue, 14 Feb 2012 21:18:12 +0800 > > > Wu Fengguang wrote: > > > > > > > > > > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 19:43:06.000000000 +0800 > > > > +++ linux/include/linux/backing-dev.h 2012-02-14 19:49:26.000000000 +0800 > > > > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > > > > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > > > > long congestion_wait(int sync, long timeout); > > > > long wait_iff_congested(struct zone *zone, int sync, long timeout); > > > > +long reclaim_wait(long timeout); > > > > +void reclaim_rotated(void); > > > > > > > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > > > > { > > > > --- linux.orig/mm/backing-dev.c 2012-02-14 19:26:15.000000000 +0800 > > > > +++ linux/mm/backing-dev.c 2012-02-14 20:09:45.000000000 +0800 > > > > @@ -873,3 +873,38 @@ out: > > > > return ret; > > > > } > > > > EXPORT_SYMBOL(wait_iff_congested); > > > > + > > > > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > > > > + > > > > +/** > > > > + * reclaim_wait - wait for some pages being rotated to the LRU tail > > > > + * @timeout: timeout in jiffies > > > > + * > > > > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > > > > + * pages rotated to the LRU so that page reclaim can make progress. > > > > + */ > > > > +long reclaim_wait(long timeout) > > > > +{ > > > > + long ret; > > > > + unsigned long start = jiffies; > > > > + DEFINE_WAIT(wait); > > > > + > > > > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > > > > + ret = io_schedule_timeout(timeout); > > > > + finish_wait(&reclaim_wqh, &wait); > > > > + > > > > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > > > > + jiffies_to_usecs(jiffies - start)); > > > > + > > > > + return ret; > > > > +} > > > > +EXPORT_SYMBOL(reclaim_wait); > > > > + > > > > +void reclaim_rotated() > > > > +{ > > > > + wait_queue_head_t *wqh = &reclaim_wqh; > > > > + > > > > + if (waitqueue_active(wqh)) > > > > + wake_up(wqh); > > > > +} > > > > + > > > > > > Thank you. > > > > > > I like this approach. A nitpick is that this may wake up all waiters > > > in the system when a memcg is rotated. > > > > Thank you. It sure helps to start it simple :-) > > > > > How about wait_event() + condition by bitmap (using per memcg unique IDs.) ? > > > > I'm not sure how to manage the bitmap. The idea in my mind is to > > > > - maintain a memcg->pages_rotated counter > > > > - in reclaim_wait(), grab the current ->pages_rotated value before > > going to wait, compare it to the new value on every wakeup, and > > return to the user when seeing a different ->pages_rotated value. > > (this cannot stop waking up multiple tasks in the same memcg...) > > > > Does that sound reasonable? > > > > Maybe. But there may be problem in looking up memcg from page at every > rotation. I think it's ok to start with a way ignoring per-memcg status. > Sorry for noise. When there comes such a need, we could take some sampled approach: for each pagevec rotated, only dereference one of its pages and wakeup the corresponding memcg task(s). That should do well enough in practice even for random write patterns. Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx190.postini.com [74.125.245.190]) by kanga.kvack.org (Postfix) with SMTP id 96F496B0082 for ; Thu, 16 Feb 2012 05:00:51 -0500 (EST) Date: Thu, 16 Feb 2012 17:50:42 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216095042.GC17597@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120214155124.GC5938@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120214155124.GC5938@suse.de> Sender: owner-linux-mm@kvack.org List-ID: To: Mel Gorman Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Tue, Feb 14, 2012 at 03:51:24PM +0000, Mel Gorman wrote: > On Tue, Feb 14, 2012 at 09:18:12PM +0800, Wu Fengguang wrote: > > > For the OOM problem, a more reasonable stopgap might be to identify when > > > a process is scanning a memcg at high priority and encountered all > > > PageReclaim with no forward progress and to congestion_wait() if that > > > situation occurs. A preferable way would be to wait until the flusher > > > wakes up a waiter on PageReclaim pages to be written out because we want > > > to keep moving way from congestion_wait() if at all possible. > > > > Good points! Below is the more serious page reclaim changes. > > > > The dirty/writeback pages may often come close to each other in the > > LRU list, so the local test during a 32-page scan may still trigger > > reclaim waits unnecessarily. > > Yes, this is particularly the case when writing back to USB. It is not > unusual that all dirty pages under writeback are backed by USB and at the > end of the LRU. Right now what happens is that reclaimers see higher CPU > usage as they scan over these pages uselessly. If the wrong choice is > made on how to throttle, we'll see yet more variants of the "system > responsiveness drops when writing to USB". Yes, USB is an important case to support. I'd imagine the heavy USB writes typically happen in desktops and run *outside* of any memcg. So they'll typically take <= 20% memory in the zone. As long as we start the PG_reclaim throttling only when above the 20% dirty threshold (ie. on zone_dirty_ok()), the USB case should be safe. > > Some global information on the percent > > of dirty/writeback pages in the LRU list may help. Anyway the added > > tests should still be much better than no protection. > > > > You can tell how many dirty pages and writeback pages are in the zone > already. Right. I changed the test to + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && + (!global_reclaim(sc) || !zone_dirty_ok(zone))) + reclaim_wait(HZ/10); And I'd prefer to use a higher threshold than the default 20% for the above zone_dirty_ok() test, so that when Johannes' zone dirty balancing does the job fine, PG_reclaim based page reclaim throttling won't happen at all. > > A global wait queue and reclaim_wait() is introduced. The waiters will > > be wakeup when pages are rotated by end_page_writeback() or lru drain. > > > > I have to say its effectiveness depends on the filesystem... ext4 > > and btrfs do fluent IO completions, so reclaim_wait() works pretty > > well: > > dd-14560 [017] .... 1360.894605: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > dd-14560 [017] .... 1360.904456: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=8000 > > dd-14560 [017] .... 1360.908293: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > dd-14560 [017] .... 1360.923960: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > dd-14560 [017] .... 1360.927810: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > dd-14560 [017] .... 1360.931656: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > dd-14560 [017] .... 1360.943503: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > dd-14560 [017] .... 1360.953289: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=7000 > > dd-14560 [017] .... 1360.957177: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > dd-14560 [017] .... 1360.972949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > > > However XFS does IO completions in very large batches (there may be > > only several big IO completions in one second). So reclaim_wait() > > mostly end up waiting to the full HZ/10 timeout: > > > > dd-4177 [008] .... 866.367661: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [010] .... 866.567583: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [012] .... 866.767458: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [013] .... 866.867419: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [008] .... 867.167266: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [010] .... 867.367168: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [012] .... 867.818950: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [013] .... 867.918905: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [013] .... 867.971657: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > > dd-4177 [013] .... 867.971812: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=0 > > dd-4177 [008] .... 868.355700: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > dd-4177 [010] .... 868.700515: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > And where people will get hit by regressions in this area is writing to > vfat and in more rare cases ntfs on USB stick. vfat IO completions seem to lie somewhere between ext4 and xfs: <...>-46385 [010] .... 143570.714470: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [008] .... 143570.752391: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=12000 <...>-46385 [008] .... 143570.937327: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 <...>-46385 [010] .... 143571.160252: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [011] .... 143571.286197: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [008] .... 143571.329644: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 <...>-46385 [008] .... 143571.475433: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=18000 <...>-46385 [008] .... 143571.653461: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 <...>-46385 [008] .... 143571.839949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=56000 <...>-46385 [010] .... 143572.060816: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [011] .... 143572.185754: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [008] .... 143572.212522: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 <...>-46385 [008] .... 143572.217825: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 <...>-46385 [008] .... 143572.312395: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=91000 <...>-46385 [008] .... 143572.315122: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 <...>-46385 [009] .... 143572.433630: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 <...>-46385 [010] .... 143572.534569: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 and has lower throughput avg-cpu: %user %nice %system %iowait %steal %idle 0.03 0.00 3.88 2.22 0.00 93.86 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 34.00 20.00 82.00 10.00 34137.50 669.56 8.09 79.34 5.97 60.90 I'm yet to get a USB stick for the vfat-on-USB test. > > > Another possibility would be to relook at LRU_IMMEDIATE but right now it > > > requires a page flag and I haven't devised a way around that. Besides, > > > it would only address the problem of PageREclaim pages being encountered, > > > it would not handle the case where a memcg was filled with PageReclaim pages. > > > > I also considered things like LRU_IMMEDIATE, however got no clear idea yet. > > Since the simple "wait on PG_reclaim" approach appears to work for this > > memcg dd case, it effectively disables me to think any further ;-) > > > > Test with interactive use while writing heavily to a USB stick. Sure. > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > > > if (PageWriteback(page)) { > > nr_writeback++; > > + if (PageReclaim(page)) > > + nr_pgreclaim++; > > + else > > + SetPageReclaim(page); > > /* > > This check is unexpected. We already SetPageReclaim when queuing pages for > IO from reclaim context and if dirty pages are encountered during the LRU > scan that cannot be queued for IO. How often is it that nr_pgreclaim != > nr_writeback and by how much do they differ? Quite often, I suspect. The pageout writeback works do 1-8MB write around which may start I/O a bit earlier than the covered pages are encountered by page reclaim. ext4 forces 128MB write chunk size, which further increases the opportunities. > > * Synchronous reclaim cannot queue pages for > > * writeback due to the possibility of stack overflow > > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > > nr_dirty++; > > > > /* > > - * Only kswapd can writeback filesystem pages to > > - * avoid risk of stack overflow but do not writeback > > - * unless under significant pressure. > > + * run into the visited page again: we are scanning > > + * faster than the flusher can writeout dirty pages > > */ > > which in itself is not an abnormal condition. We get into this situation > when writing to USB. Dirty throttling stops too much memory getting dirtied > but that does not mean we should throttle instead of reclaiming clean pages. > > That's why I worry that if this is aimed at fixing a memcg problem, it > will have the impact of making interactive performance on normal systems > worse. You are right. This patch only addresses the pageout I/O efficiency and dirty throttling problems for a fully dirtied LRU. Next step, I'll think about the interactive performance problem for a less dirtied LRU. > > @@ -1087,8 +1097,10 @@ int __isolate_lru_page(struct page *page > > */ > > if (mode & (ISOLATE_CLEAN|ISOLATE_ASYNC_MIGRATE)) { > > /* All the caller can do on PageWriteback is block */ > > - if (PageWriteback(page)) > > + if (PageWriteback(page)) { > > + SetPageReclaim(page); > > return ret; > > + } > > > > This hunk means that if async compaction (common for THP) encounters a page > under writeback, it will still skip it but mark it for immediate reclaim > after IO completes. This will have the impact that compaction causes an > abnormally high number of pages to be reclaimed. Sorry I overlooked that, will drop it. isolate_migratepages() walks by PFN and the opportunistic peak at the writeback pages should not make it rotated (and disturb its LRU order) on I/O completion. > > @@ -1608,6 +1621,8 @@ shrink_inactive_list(unsigned long nr_to > > */ > > if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) > > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority))) > > + reclaim_wait(HZ/10); > > > > We risk going to sleep too easily when USB-backed pages are at the end of > the LRU list. Note that the nr_writeback check only goes to sleep if it > detects that the underlying storage is also congested. In contrast, it > will take very few PageReclaim pages at teh end of the LRU to cause the > process to sleep when it instead should find clean pages to discard. Right. > If the intention is to avoid memcg going OOM prematurely, the > nr_pgreclaim value needs to be treated at a higher level that records > how many PageReclaim pages were encountered. If no progress was made > because all the pages were PageReclaim, then throttle and return 1 to > the page allocator where it will retry the allocation without going OOM > after some pages have been cleaned and reclaimed. Agreed in general, but changed to this test for now, which is made a bit more global wise with the use of zone_dirty_ok(). memcg is ignored due to no dirty accounting (Greg has the patch though). And even zone_dirty_ok() may be inaccurate for the global reclaim, if some memcgs are skipped by the global reclaim by the memcg soft limit. But anyway, it's a handy hack for now. I'm looking into some more radical changes to put most dirty/writeback pages into a standalone LRU list (in addition to your LRU_IMMEDIATE, which I think is a good idea) for addressing the clustered way they tend to lie in the inactive LRU list. + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && + (!global_reclaim(sc) || !zone_dirty_ok(zone))) + reclaim_wait(HZ/10); Thanks, Fengguang --- Subject: writeback: introduce the pageout work Date: Thu Jul 29 14:41:19 CST 2010 This relays file pageout IOs to the flusher threads. The ultimate target is to gracefully handle the LRU lists full of dirty/writeback pages. 1) I/O efficiency The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. This takes advantage of the time/spacial locality in most workloads: the nearby pages of one file are typically populated into the LRU at the same time, hence will likely be close to each other in the LRU list. Writing them in one shot helps clean more pages effectively for page reclaim. 2) OOM avoidance and scan rate control Typically we do LRU scan w/o rate control and quickly get enough clean pages for the LRU lists not full of dirty pages. Or we can still get a number of freshly cleaned pages (moved to LRU tail by end_page_writeback()) when the queued pageout I/O is completed within tens of milli-seconds. However if the LRU list is small and full of dirty pages, it can be quickly fully scanned and go OOM before the flusher manages to clean enough pages. A simple yet reliable scheme is employed to avoid OOM and keep scan rate in sync with the I/O rate: if (PageReclaim(page)) congestion_wait(HZ/10); PG_reclaim plays the key role. When dirty pages are encountered, we queue I/O for it, set PG_reclaim and put it back to the LRU head. So if PG_reclaim pages are encountered again, it means the dirty page has not yet been cleaned by the flusher after a full zone scan. It indicates we are scanning more fast than I/O and shall take a snap. The runtime behavior on a fully dirtied small LRU list would be: It will start with a quick scan of the list, queuing all pages for I/O. Then the scan will be slowed down by the PG_reclaim pages *adaptively* to match the I/O bandwidth. 3) writeback work coordinations To avoid memory allocations at page reclaim, a mempool for struct wb_writeback_work is created. wakeup_flusher_threads() is removed because it can easily delay the more oriented pageout works and even exhaust the mempool reservations. It's also found to not I/O efficient by frequently submitting writeback works with small ->nr_pages. Background/periodic works will quit automatically, so as to clean the pages under reclaim ASAP. However for now the sync work can still block us for long time. Jan Kara: limit the search scope. Note that the limited search and work pool is not a big problem: 1000 IOs under flight are typically more than enough to saturate the disk. And the overheads of searching in the work list didn't even show up in the perf report. 4) test case Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): mkdir /cgroup/x echo 100M > /cgroup/x/memory.limit_in_bytes echo $$ > /cgroup/x/tasks for i in `seq 2` do dd if=/dev/zero of=/fs/f$i bs=1k count=1M & done Before patch, the dd tasks are quickly OOM killed. After patch, they run well with reasonably good performance and overheads: 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s iostat -kx 1 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 15.08 33.92 0.00 50.75 0.25 0.00 14.54 35.09 0.00 50.13 0.50 0.00 13.57 32.41 0.00 53.52 0.50 0.00 11.28 36.84 0.00 51.38 0.50 0.00 15.75 32.00 0.00 51.75 0.50 0.00 10.50 34.00 0.00 55.00 0.50 0.00 17.63 27.46 0.00 54.41 0.50 0.00 15.08 30.90 0.00 53.52 0.50 0.00 11.28 32.83 0.00 55.39 0.75 0.00 16.79 26.82 0.00 55.64 0.50 0.00 16.08 29.15 0.00 54.27 0.50 0.00 13.50 30.50 0.00 55.50 0.50 0.00 14.32 35.18 0.00 50.00 0.50 0.00 12.06 33.92 0.00 53.52 0.50 0.00 17.29 30.58 0.00 51.63 0.50 0.00 15.08 29.65 0.00 54.77 0.50 0.00 12.53 29.32 0.00 57.64 0.50 0.00 15.29 31.83 0.00 52.38 The global dd numbers for comparison: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 11.22 52.30 0.00 35.97 0.25 0.00 10.15 52.54 0.00 37.06 0.25 0.00 5.01 56.64 0.00 38.10 0.51 0.00 15.15 43.94 0.00 40.40 0.25 0.00 12.12 48.23 0.00 39.39 0.51 0.00 11.20 53.94 0.00 34.35 0.26 0.00 9.72 51.41 0.00 38.62 0.76 0.00 9.62 50.63 0.00 38.99 0.51 0.00 10.46 53.32 0.00 35.71 0.51 0.00 9.41 51.91 0.00 38.17 0.25 0.00 10.69 49.62 0.00 39.44 0.51 0.00 12.21 52.67 0.00 34.61 0.51 0.00 11.45 53.18 0.00 34.86 XXX: commit NFS unstable pages via write_inode() XXX: the added congestion_wait() may be undesirable in some situations CC: Jan Kara CC: Mel Gorman Acked-by: Rik van Riel CC: Greg Thelen CC: Minchan Kim Signed-off-by: Wu Fengguang --- fs/fs-writeback.c | 169 ++++++++++++++++++++++++++++- include/linux/backing-dev.h | 2 include/linux/writeback.h | 4 include/trace/events/writeback.h | 19 ++- mm/backing-dev.c | 35 ++++++ mm/swap.c | 1 mm/vmscan.c | 32 +++-- 7 files changed, 245 insertions(+), 17 deletions(-) - move congestion_wait() out of the page lock: it's blocking btrfs lock_delalloc_pages() --- linux.orig/include/linux/backing-dev.h 2012-02-14 20:11:21.000000000 +0800 +++ linux/include/linux/backing-dev.h 2012-02-15 12:34:24.000000000 +0800 @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ void set_bdi_congested(struct backing_dev_info *bdi, int sync); long congestion_wait(int sync, long timeout); long wait_iff_congested(struct zone *zone, int sync, long timeout); +long reclaim_wait(long timeout); +void reclaim_rotated(void); static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) { --- linux.orig/mm/backing-dev.c 2012-02-14 20:11:21.000000000 +0800 +++ linux/mm/backing-dev.c 2012-02-15 12:34:19.000000000 +0800 @@ -873,3 +873,38 @@ out: return ret; } EXPORT_SYMBOL(wait_iff_congested); + +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); + +/** + * reclaim_wait - wait for some pages being rotated to the LRU tail + * @timeout: timeout in jiffies + * + * Wait until @timeout, or when some (typically PG_reclaim under writeback) + * pages rotated to the LRU so that page reclaim can make progress. + */ +long reclaim_wait(long timeout) +{ + long ret; + unsigned long start = jiffies; + DEFINE_WAIT(wait); + + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); + ret = io_schedule_timeout(timeout); + finish_wait(&reclaim_wqh, &wait); + + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), + jiffies_to_usecs(jiffies - start)); + + return ret; +} +EXPORT_SYMBOL(reclaim_wait); + +void reclaim_rotated() +{ + wait_queue_head_t *wqh = &reclaim_wqh; + + if (waitqueue_active(wqh)) + wake_up(wqh); +} + --- linux.orig/mm/swap.c 2012-02-14 20:11:21.000000000 +0800 +++ linux/mm/swap.c 2012-02-15 12:27:35.000000000 +0800 @@ -253,6 +253,7 @@ static void pagevec_move_tail(struct pag pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved); __count_vm_events(PGROTATED, pgmoved); + reclaim_rotated(); } /* --- linux.orig/mm/vmscan.c 2012-02-14 20:11:21.000000000 +0800 +++ linux/mm/vmscan.c 2012-02-16 17:23:17.000000000 +0800 @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st struct scan_control *sc, int priority, unsigned long *ret_nr_dirty, - unsigned long *ret_nr_writeback) + unsigned long *ret_nr_writeback, + unsigned long *ret_nr_pgreclaim) { LIST_HEAD(ret_pages); LIST_HEAD(free_pages); @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st unsigned long nr_congested = 0; unsigned long nr_reclaimed = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; cond_resched(); @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st if (PageWriteback(page)) { nr_writeback++; + if (PageReclaim(page)) + nr_pgreclaim++; + else + SetPageReclaim(page); /* * Synchronous reclaim cannot queue pages for * writeback due to the possibility of stack overflow @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st nr_dirty++; /* - * Only kswapd can writeback filesystem pages to - * avoid risk of stack overflow but do not writeback - * unless under significant pressure. + * run into the visited page again: we are scanning + * faster than the flusher can writeout dirty pages */ - if (page_is_file_cache(page) && - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { + if (page_is_file_cache(page) && PageReclaim(page)) { + nr_pgreclaim++; + goto keep_locked; + } + if (page_is_file_cache(page) && mapping && + flush_inode_page(mapping, page, false) >= 0) { /* * Immediately reclaim when written back. * Similar in principal to deactivate_page() @@ -1028,6 +1037,7 @@ keep_lumpy: count_vm_events(PGACTIVATE, pgactivate); *ret_nr_dirty += nr_dirty; *ret_nr_writeback += nr_writeback; + *ret_nr_pgreclaim += nr_pgreclaim; return nr_reclaimed; } @@ -1509,6 +1519,7 @@ shrink_inactive_list(unsigned long nr_to unsigned long nr_file; unsigned long nr_dirty = 0; unsigned long nr_writeback = 0; + unsigned long nr_pgreclaim = 0; isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; struct zone *zone = mz->zone; @@ -1559,13 +1570,13 @@ shrink_inactive_list(unsigned long nr_to spin_unlock_irq(&zone->lru_lock); nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, - &nr_dirty, &nr_writeback); + &nr_dirty, &nr_writeback, &nr_pgreclaim); /* Check if we should syncronously wait for writeback */ if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { set_reclaim_mode(priority, sc, true); nr_reclaimed += shrink_page_list(&page_list, mz, sc, - priority, &nr_dirty, &nr_writeback); + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); } spin_lock_irq(&zone->lru_lock); @@ -1608,6 +1619,9 @@ shrink_inactive_list(unsigned long nr_to */ if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && + (!global_reclaim(sc) || !zone_dirty_ok(zone))) + reclaim_wait(HZ/10); trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, zone_idx(zone), @@ -2382,8 +2396,6 @@ static unsigned long do_try_to_free_page */ writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; if (total_scanned > writeback_threshold) { - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, - WB_REASON_TRY_TO_FREE_PAGES); sc->may_writepage = 1; } --- linux.orig/fs/fs-writeback.c 2012-02-14 20:11:21.000000000 +0800 +++ linux/fs/fs-writeback.c 2012-02-15 12:27:35.000000000 +0800 @@ -41,6 +41,8 @@ struct wb_writeback_work { long nr_pages; struct super_block *sb; unsigned long *older_than_this; + struct inode *inode; + pgoff_t offset; enum writeback_sync_modes sync_mode; unsigned int tagged_writepages:1; unsigned int for_kupdate:1; @@ -65,6 +67,27 @@ struct wb_writeback_work { */ int nr_pdflush_threads; +static mempool_t *wb_work_mempool; + +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) +{ + /* + * bdi_flush_inode_range() may be called on page reclaim + */ + if (current->flags & PF_MEMALLOC) + return NULL; + + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); +} + +static __init int wb_work_init(void) +{ + wb_work_mempool = mempool_create(1024, + wb_work_alloc, mempool_kfree, NULL); + return wb_work_mempool ? 0 : -ENOMEM; +} +fs_initcall(wb_work_init); + /** * writeback_in_progress - determine whether there is writeback in progress * @bdi: the device's backing_dev_info structure. @@ -129,7 +152,7 @@ __bdi_start_writeback(struct backing_dev * This is WB_SYNC_NONE writeback, so if allocation fails just * wakeup the thread for old dirty data writeback */ - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); if (!work) { if (bdi->wb.task) { trace_writeback_nowork(bdi); @@ -138,6 +161,7 @@ __bdi_start_writeback(struct backing_dev return; } + memset(work, 0, sizeof(*work)); work->sync_mode = WB_SYNC_NONE; work->nr_pages = nr_pages; work->range_cyclic = range_cyclic; @@ -186,6 +210,125 @@ void bdi_start_background_writeback(stru spin_unlock_bh(&bdi->wb_lock); } +static bool extend_writeback_range(struct wb_writeback_work *work, + pgoff_t offset, + unsigned long write_around_pages) +{ + pgoff_t end = work->offset + work->nr_pages; + + if (offset >= work->offset && offset < end) + return true; + + /* + * for sequential workloads with good locality, include up to 8 times + * more data in one chunk + */ + if (work->nr_pages >= 8 * write_around_pages) + return false; + + /* the unsigned comparison helps eliminate one compare */ + if (work->offset - offset < write_around_pages) { + work->nr_pages += write_around_pages; + work->offset -= write_around_pages; + return true; + } + + if (offset - end < write_around_pages) { + work->nr_pages += write_around_pages; + return true; + } + + return false; +} + +/* + * schedule writeback on a range of inode pages. + */ +static struct wb_writeback_work * +bdi_flush_inode_range(struct backing_dev_info *bdi, + struct inode *inode, + pgoff_t offset, + pgoff_t len, + bool wait) +{ + struct wb_writeback_work *work; + + if (!igrab(inode)) + return ERR_PTR(-ENOENT); + + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); + if (!work) { + trace_printk("wb_work_mempool alloc fail\n"); + return ERR_PTR(-ENOMEM); + } + + memset(work, 0, sizeof(*work)); + work->sync_mode = WB_SYNC_NONE; + work->inode = inode; + work->offset = offset; + work->nr_pages = len; + work->reason = WB_REASON_PAGEOUT; + + bdi_queue_work(bdi, work); + + return work; +} + +/* + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to + * improve IO throughput. The nearby pages will have good chance to reside in + * the same LRU list that vmscan is working on, and even close to each other + * inside the LRU list in the common case of sequential read/write. + * + * ret > 0: success, found/reused a previous writeback work + * ret = 0: success, allocated/queued a new writeback work + * ret < 0: failed + */ +long flush_inode_page(struct address_space *mapping, + struct page *page, + bool wait) +{ + struct backing_dev_info *bdi = mapping->backing_dev_info; + struct inode *inode = mapping->host; + struct wb_writeback_work *work; + unsigned long write_around_pages; + pgoff_t offset = page->index; + int i; + long ret = 0; + + if (unlikely(!inode)) + return -ENOENT; + + /* + * piggy back 8-15ms worth of data + */ + write_around_pages = bdi->avg_write_bandwidth + MIN_WRITEBACK_PAGES; + write_around_pages = rounddown_pow_of_two(write_around_pages) >> 6; + + i = 1; + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_reverse(work, &bdi->work_list, list) { + if (work->inode != inode) + continue; + if (extend_writeback_range(work, offset, write_around_pages)) { + ret = i; + break; + } + if (i++ > 100) /* limit search depth */ + break; + } + spin_unlock_bh(&bdi->wb_lock); + + if (!ret) { + offset = round_down(offset, write_around_pages); + work = bdi_flush_inode_range(bdi, inode, + offset, write_around_pages, wait); + if (IS_ERR(work)) + ret = PTR_ERR(work); + } + return ret; +} + /* * Remove the inode from the writeback list it is on. */ @@ -833,6 +976,23 @@ static unsigned long get_nr_dirty_pages( get_nr_dirty_inodes(); } +static long wb_flush_inode(struct bdi_writeback *wb, + struct wb_writeback_work *work) +{ + struct writeback_control wbc = { + .sync_mode = WB_SYNC_NONE, + .nr_to_write = LONG_MAX, + .range_start = work->offset << PAGE_CACHE_SHIFT, + .range_end = (work->offset + work->nr_pages - 1) + << PAGE_CACHE_SHIFT, + }; + + do_writepages(work->inode->i_mapping, &wbc); + iput(work->inode); + + return LONG_MAX - wbc.nr_to_write; +} + static long wb_check_background_flush(struct bdi_writeback *wb) { if (over_bground_thresh(wb->bdi)) { @@ -905,7 +1065,10 @@ long wb_do_writeback(struct bdi_writebac trace_writeback_exec(bdi, work); - wrote += wb_writeback(wb, work); + if (work->inode) + wrote += wb_flush_inode(wb, work); + else + wrote += wb_writeback(wb, work); /* * Notify the caller of completion if this is a synchronous @@ -914,7 +1077,7 @@ long wb_do_writeback(struct bdi_writebac if (work->done) complete(work->done); else - kfree(work); + mempool_free(work, wb_work_mempool); } /* --- linux.orig/include/trace/events/writeback.h 2012-02-14 20:11:22.000000000 +0800 +++ linux/include/trace/events/writeback.h 2012-02-15 12:27:35.000000000 +0800 @@ -23,7 +23,7 @@ #define WB_WORK_REASON \ {WB_REASON_BACKGROUND, "background"}, \ - {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \ + {WB_REASON_PAGEOUT, "pageout"}, \ {WB_REASON_SYNC, "sync"}, \ {WB_REASON_PERIODIC, "periodic"}, \ {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \ @@ -45,6 +45,8 @@ DECLARE_EVENT_CLASS(writeback_work_class __field(int, range_cyclic) __field(int, for_background) __field(int, reason) + __field(unsigned long, ino) + __field(unsigned long, offset) ), TP_fast_assign( strncpy(__entry->name, dev_name(bdi->dev), 32); @@ -55,9 +57,11 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->range_cyclic = work->range_cyclic; __entry->for_background = work->for_background; __entry->reason = work->reason; + __entry->ino = work->inode ? work->inode->i_ino : 0; + __entry->offset = work->offset; ), TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " - "kupdate=%d range_cyclic=%d background=%d reason=%s", + "kupdate=%d range_cyclic=%d background=%d reason=%s ino=%lu offset=%lu", __entry->name, MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), __entry->nr_pages, @@ -65,7 +69,9 @@ DECLARE_EVENT_CLASS(writeback_work_class __entry->for_kupdate, __entry->range_cyclic, __entry->for_background, - __print_symbolic(__entry->reason, WB_WORK_REASON) + __print_symbolic(__entry->reason, WB_WORK_REASON), + __entry->ino, + __entry->offset ) ); #define DEFINE_WRITEBACK_WORK_EVENT(name) \ @@ -437,6 +443,13 @@ DEFINE_EVENT(writeback_congest_waited_te TP_ARGS(usec_timeout, usec_delayed) ); +DEFINE_EVENT(writeback_congest_waited_template, writeback_reclaim_wait, + + TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), + + TP_ARGS(usec_timeout, usec_delayed) +); + DECLARE_EVENT_CLASS(writeback_single_inode_template, TP_PROTO(struct inode *inode, --- linux.orig/include/linux/writeback.h 2012-02-14 20:11:21.000000000 +0800 +++ linux/include/linux/writeback.h 2012-02-15 12:27:35.000000000 +0800 @@ -40,7 +40,7 @@ enum writeback_sync_modes { */ enum wb_reason { WB_REASON_BACKGROUND, - WB_REASON_TRY_TO_FREE_PAGES, + WB_REASON_PAGEOUT, WB_REASON_SYNC, WB_REASON_PERIODIC, WB_REASON_LAPTOP_TIMER, @@ -94,6 +94,8 @@ long writeback_inodes_wb(struct bdi_writ enum wb_reason reason); long wb_do_writeback(struct bdi_writeback *wb, int force_wait); void wakeup_flusher_threads(long nr_pages, enum wb_reason reason); +long flush_inode_page(struct address_space *mapping, struct page *page, + bool wait); /* writeback.h requires fs.h; it, too, is not included from here. */ static inline void wait_on_inode(struct inode *inode) -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx182.postini.com [74.125.245.182]) by kanga.kvack.org (Postfix) with SMTP id E511C6B0083 for ; Thu, 16 Feb 2012 07:44:48 -0500 (EST) Date: Thu, 16 Feb 2012 13:44:45 +0100 From: Jan Kara Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216124445.GB18613@quack.suse.cz> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> <20120216040019.GB17597@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216040019.GB17597@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Jan Kara , Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Thu 16-02-12 12:00:19, Wu Fengguang wrote: > On Tue, Feb 14, 2012 at 02:29:50PM +0100, Jan Kara wrote: > > > > I wonder what happens if you run: > > > > mkdir /cgroup/x > > > > echo 100M > /cgroup/x/memory.limit_in_bytes > > > > echo $$ > /cgroup/x/tasks > > > > > > > > for (( i = 0; i < 2; i++ )); do > > > > mkdir /fs/d$i > > > > for (( j = 0; j < 5000; j++ )); do > > > > dd if=/dev/zero of=/fs/d$i/f$j bs=1k count=50 > > > > done & > > > > done > > > > > > That's a very good case, thanks! > > > > > > > Because for small files the writearound logic won't help much... > > > > > > Right, it also means the native background work cannot be more I/O > > > efficient than the pageout works, except for the overheads of more > > > work items.. > > Yes, that's true. > > > > > > Also the number of work items queued might become interesting. > > > > > > It turns out that the 1024 mempool reservations are not exhausted at > > > all (the below patch as a trace_printk on alloc failure and it didn't > > > trigger at all). > > > > > > Here is the representative iostat lines on XFS (full "iostat -kx 1 20" log attached): > > > > > > avg-cpu: %user %nice %system %iowait %steal %idle > > > 0.80 0.00 6.03 0.03 0.00 93.14 > > > > > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > > > sda 0.00 205.00 0.00 163.00 0.00 16900.00 207.36 4.09 21.63 1.88 30.70 > > > > > > The attached dirtied/written progress graph looks interesting. > > > Although the iostat disk utilization is low, the "dirtied" progress > > > line is pretty straight and there is no single congestion_wait event > > > in the trace log. Which makes me wonder if there are some unknown > > > blocking issues in the way. > > Interesting. I'd also expect we should block in reclaim path. How fast > > can dd threads progress when there is no cgroup involved? > > I tried running the dd tasks in global context with > > echo $((100<<20)) > /proc/sys/vm/dirty_bytes > > and got mostly the same results on XFS: > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.85 0.00 8.88 0.00 0.00 90.26 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 50.00 0.00 23036.00 921.44 9.59 738.02 7.38 36.90 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.95 0.00 8.95 0.00 0.00 90.11 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 854.00 0.00 99.00 0.00 19552.00 394.99 34.14 87.98 3.82 37.80 OK, so it seems that reclaiming pages in memcg reclaim acted as a natural throttling similar to what balance_dirty_pages() does in the global case. > Interestingly, ext4 shows comparable throughput, however is reporting > near 100% disk utilization: > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.76 0.00 9.02 0.00 0.00 90.23 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 317.00 0.00 20956.00 132.21 28.57 82.71 3.16 100.10 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.82 0.00 8.95 0.00 0.00 90.23 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 402.00 0.00 24388.00 121.33 21.09 58.55 2.42 97.40 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.82 0.00 8.99 0.00 0.00 90.19 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 409.00 0.00 21996.00 107.56 15.25 36.74 2.30 94.10 Average request size is smaller so maybe ext4 does more seeking. > > > > Another common case to test - run 'slapadd' command in each cgroup to > > > > create big LDAP database. That does pretty much random IO on a big mmaped > > > > DB file. > > > > > > I've not used this. Will it need some configuration and data feed? > > > fio looks more handy to me for emulating mmap random IO. > > Yes, fio can generate random mmap IO. It's just that this is a real life > > workload. So it is not completely random, it happens on several files and > > is also interleaved with other memory allocations from DB. I can send you > > the config files and data feed if you are interested. > > I'm very interested, thank you! OK, I'll send it in private email... > > > > > +/* > > > > > + * schedule writeback on a range of inode pages. > > > > > + */ > > > > > +static struct wb_writeback_work * > > > > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > > > > + struct inode *inode, > > > > > + pgoff_t offset, > > > > > + pgoff_t len, > > > > > + bool wait) > > > > > +{ > > > > > + struct wb_writeback_work *work; > > > > > + > > > > > + if (!igrab(inode)) > > > > > + return ERR_PTR(-ENOENT); > > > > One technical note here: If the inode is deleted while it is queued, this > > > > reference will keep it living until flusher thread gets to it. Then when > > > > flusher thread puts its reference, the inode will get deleted in flusher > > > > thread context. I don't see an immediate problem in that but it might be > > > > surprising sometimes. Another problem I see is that if you try to > > > > unmount the filesystem while the work item is queued, you'll get EBUSY for > > > > no apparent reason (for userspace). > > > > > > Yeah, we need to make umount work. > > The positive thing is that if the inode is reaped while the work item is > > queue, we know all that needed to be done is done. So we don't really need > > to pin the inode. > > But I do need to make sure the *inode pointer does not point to some > invalid memory at work exec time. Is this possible without raising > ->i_count? I was thinking about it and what should work is that we have inode reference in work item but in generic_shutdown_super() we go through the worklist and drop all work items for superblock before calling evict_inodes()... Honza -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx120.postini.com [74.125.245.120]) by kanga.kvack.org (Postfix) with SMTP id 44F086B0082 for ; Thu, 16 Feb 2012 08:42:41 -0500 (EST) Date: Thu, 16 Feb 2012 21:32:33 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216133233.GA13369@localhost> References: <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> <20120216040019.GB17597@localhost> <20120216124445.GB18613@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216124445.GB18613@quack.suse.cz> Sender: owner-linux-mm@kvack.org List-ID: To: Jan Kara Cc: Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Thu, Feb 16, 2012 at 01:44:45PM +0100, Jan Kara wrote: > On Thu 16-02-12 12:00:19, Wu Fengguang wrote: > > On Tue, Feb 14, 2012 at 02:29:50PM +0100, Jan Kara wrote: > > > > > > +/* > > > > > > + * schedule writeback on a range of inode pages. > > > > > > + */ > > > > > > +static struct wb_writeback_work * > > > > > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > > > > > + struct inode *inode, > > > > > > + pgoff_t offset, > > > > > > + pgoff_t len, > > > > > > + bool wait) > > > > > > +{ > > > > > > + struct wb_writeback_work *work; > > > > > > + > > > > > > + if (!igrab(inode)) > > > > > > + return ERR_PTR(-ENOENT); > > > > > One technical note here: If the inode is deleted while it is queued, this > > > > > reference will keep it living until flusher thread gets to it. Then when > > > > > flusher thread puts its reference, the inode will get deleted in flusher > > > > > thread context. I don't see an immediate problem in that but it might be > > > > > surprising sometimes. Another problem I see is that if you try to > > > > > unmount the filesystem while the work item is queued, you'll get EBUSY for > > > > > no apparent reason (for userspace). > > > > > > > > Yeah, we need to make umount work. > > > The positive thing is that if the inode is reaped while the work item is > > > queue, we know all that needed to be done is done. So we don't really need > > > to pin the inode. > > > > But I do need to make sure the *inode pointer does not point to some > > invalid memory at work exec time. Is this possible without raising > > ->i_count? > I was thinking about it and what should work is that we have inode > reference in work item but in generic_shutdown_super() we go through > the worklist and drop all work items for superblock before calling > evict_inodes()... Good point! This diff removes the works after the sync_filesystem(sb) call. After which, no more dirty pages are expected on that sb (otherwise the umount will fail anyway), hence no more pageout works will be queued for that sb. +static void wb_free_work(struct wb_writeback_work *work) +{ + /* + * Notify the caller of completion if this is a synchronous + * work item, otherwise just free it. + */ + if (work->done) + complete(work->done); + else + mempool_free(work, wb_work_mempool); +} + +/* + * Remove works for @sb; or if (@sb == NULL), remove all works on @bdi. + */ +void bdi_remove_works(struct backing_dev_info *bdi, struct super_block *sb) +{ + struct inode *inode = mapping->host; + struct wb_writeback_work *work; + + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_safe(work, &bdi->work_list, list) { + if (work->inode && work->inode->i_sb == sb) { + iput(inode); + } else if (sb && work->sb != sb) + continue; + + list_del_init(&work->list); + wb_free_work(work); + } + spin_unlock_bh(&bdi->wb_lock); +} --- linux.orig/fs/super.c 2012-02-16 21:08:09.000000000 +0800 +++ linux/fs/super.c 2012-02-16 21:22:19.000000000 +0800 @@ -389,6 +389,7 @@ void generic_shutdown_super(struct super fsnotify_unmount_inodes(&sb->s_inodes); + bdi_remove_works(sb->s_bdi, sb); evict_inodes(sb); if (sop->put_super) Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx127.postini.com [74.125.245.127]) by kanga.kvack.org (Postfix) with SMTP id 586666B0083 for ; Thu, 16 Feb 2012 09:16:33 -0500 (EST) Date: Thu, 16 Feb 2012 22:06:26 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216140625.GA26138@localhost> References: <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> <20120216040019.GB17597@localhost> <20120216124445.GB18613@quack.suse.cz> <20120216133233.GA13369@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216133233.GA13369@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Jan Kara Cc: Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Thu, Feb 16, 2012 at 09:32:33PM +0800, Wu Fengguang wrote: > On Thu, Feb 16, 2012 at 01:44:45PM +0100, Jan Kara wrote: > > On Thu 16-02-12 12:00:19, Wu Fengguang wrote: > > > On Tue, Feb 14, 2012 at 02:29:50PM +0100, Jan Kara wrote: > > > > > > > > +/* > > > > > > > + * schedule writeback on a range of inode pages. > > > > > > > + */ > > > > > > > +static struct wb_writeback_work * > > > > > > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > > > > > > + struct inode *inode, > > > > > > > + pgoff_t offset, > > > > > > > + pgoff_t len, > > > > > > > + bool wait) > > > > > > > +{ > > > > > > > + struct wb_writeback_work *work; > > > > > > > + > > > > > > > + if (!igrab(inode)) > > > > > > > + return ERR_PTR(-ENOENT); > > > > > > One technical note here: If the inode is deleted while it is queued, this > > > > > > reference will keep it living until flusher thread gets to it. Then when > > > > > > flusher thread puts its reference, the inode will get deleted in flusher > > > > > > thread context. I don't see an immediate problem in that but it might be > > > > > > surprising sometimes. Another problem I see is that if you try to > > > > > > unmount the filesystem while the work item is queued, you'll get EBUSY for > > > > > > no apparent reason (for userspace). > > > > > > > > > > Yeah, we need to make umount work. > > > > The positive thing is that if the inode is reaped while the work item is > > > > queue, we know all that needed to be done is done. So we don't really need > > > > to pin the inode. > > > > > > But I do need to make sure the *inode pointer does not point to some > > > invalid memory at work exec time. Is this possible without raising > > > ->i_count? > > I was thinking about it and what should work is that we have inode > > reference in work item but in generic_shutdown_super() we go through > > the worklist and drop all work items for superblock before calling > > evict_inodes()... > > Good point! > > This diff removes the works after the sync_filesystem(sb) call. After > which, no more dirty pages are expected on that sb (otherwise the > umount will fail anyway), hence no more pageout works will be queued > for that sb. > > +static void wb_free_work(struct wb_writeback_work *work) > +{ > + /* > + * Notify the caller of completion if this is a synchronous > + * work item, otherwise just free it. > + */ > + if (work->done) > + complete(work->done); > + else > + mempool_free(work, wb_work_mempool); > +} > + > +/* > + * Remove works for @sb; or if (@sb == NULL), remove all works on @bdi. > + */ > +void bdi_remove_works(struct backing_dev_info *bdi, struct super_block *sb) > +{ > + struct inode *inode = mapping->host; > + struct wb_writeback_work *work; > + > + spin_lock_bh(&bdi->wb_lock); > + list_for_each_entry_safe(work, &bdi->work_list, list) { > + if (work->inode && work->inode->i_sb == sb) { > + iput(inode); > + } else if (sb && work->sb != sb) > + continue; > + > + list_del_init(&work->list); > + wb_free_work(work); > + } > + spin_unlock_bh(&bdi->wb_lock); > +} Sorry, this corrected function actually compiles: +/* + * Remove works for @sb; or if (@sb == NULL), remove all works on @bdi. + */ +void bdi_remove_works(struct backing_dev_info *bdi, struct super_block *sb) +{ + struct wb_writeback_work *work, *tmp; + LIST_HEAD(works); + + spin_lock_bh(&bdi->wb_lock); + list_for_each_entry_safe(work, tmp, &bdi->work_list, list) { + if (sb) { + if (work->sb && work->sb != sb) + continue; + if (work->inode && work->inode->i_sb != sb) + continue; + } + list_move(&work->list, &works); + } + spin_unlock_bh(&bdi->wb_lock); + + while (!list_empty(&works)) { + work = list_entry(works.next, + struct wb_writeback_work, list); + list_del_init(&work->list); + if (work->inode) + iput(work->inode); + wb_free_work(work); + } +} > --- linux.orig/fs/super.c 2012-02-16 21:08:09.000000000 +0800 > +++ linux/fs/super.c 2012-02-16 21:22:19.000000000 +0800 > @@ -389,6 +389,7 @@ void generic_shutdown_super(struct super > > fsnotify_unmount_inodes(&sb->s_inodes); > > + bdi_remove_works(sb->s_bdi, sb); > evict_inodes(sb); > > if (sop->put_super) > > Thanks, > Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx174.postini.com [74.125.245.174]) by kanga.kvack.org (Postfix) with SMTP id 6CB496B0083 for ; Thu, 16 Feb 2012 12:31:18 -0500 (EST) Date: Thu, 16 Feb 2012 17:31:11 +0000 From: Mel Gorman Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120216173111.GA8555@suse.de> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120214155124.GC5938@suse.de> <20120216095042.GC17597@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20120216095042.GC17597@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim On Thu, Feb 16, 2012 at 05:50:42PM +0800, Wu Fengguang wrote: > On Tue, Feb 14, 2012 at 03:51:24PM +0000, Mel Gorman wrote: > > On Tue, Feb 14, 2012 at 09:18:12PM +0800, Wu Fengguang wrote: > > > > For the OOM problem, a more reasonable stopgap might be to identify when > > > > a process is scanning a memcg at high priority and encountered all > > > > PageReclaim with no forward progress and to congestion_wait() if that > > > > situation occurs. A preferable way would be to wait until the flusher > > > > wakes up a waiter on PageReclaim pages to be written out because we want > > > > to keep moving way from congestion_wait() if at all possible. > > > > > > Good points! Below is the more serious page reclaim changes. > > > > > > The dirty/writeback pages may often come close to each other in the > > > LRU list, so the local test during a 32-page scan may still trigger > > > reclaim waits unnecessarily. > > > > Yes, this is particularly the case when writing back to USB. It is not > > unusual that all dirty pages under writeback are backed by USB and at the > > end of the LRU. Right now what happens is that reclaimers see higher CPU > > usage as they scan over these pages uselessly. If the wrong choice is > > made on how to throttle, we'll see yet more variants of the "system > > responsiveness drops when writing to USB". > > Yes, USB is an important case to support. I'd imagine the heavy USB > writes typically happen in desktops and run *outside* of any memcg. I would expect it's common that USB writes are outside a memcg. > So they'll typically take <= 20% memory in the zone. As long as we > start the PG_reclaim throttling only when above the 20% dirty > threshold (ie. on zone_dirty_ok()), the USB case should be safe. > It's not just the USB writer, it's unrelated process that are allocating memory at the same time the writing happens. What we want to avoid is a situation where something like firefox or evolution or even gnome-terminal is performing a small read and gets either a) started for IO bandwidth and stalls (not the focus here obviously) b) enter page reclaim, finds PG_reclaim pages from the USB write and stalls It's (b) we need to watch out for. I accept that this patch is heading in the right direction and that the tracepoint can be used to identify processes get throttled unfairly. Before merging, it'd be nice to hear of such a test and include details in the changelog similar to the test case in https://bugzilla.kernel.org/show_bug.cgi?id=31142 (a bug that lasted a *long* time as it turned out, fixes merged for 3.3 with sync-light migration). > > > Some global information on the percent > > > of dirty/writeback pages in the LRU list may help. Anyway the added > > > tests should still be much better than no protection. > > > > > > > You can tell how many dirty pages and writeback pages are in the zone > > already. > > Right. I changed the test to > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > + reclaim_wait(HZ/10); > > And I'd prefer to use a higher threshold than the default 20% for the > above zone_dirty_ok() test, so that when Johannes' zone dirty > balancing does the job fine, PG_reclaim based page reclaim throttling > won't happen at all. > We'd also need to watch that we do not get throttled on small zones like ZONE_DMA (which shouldn't happen but still). To detect this if it happens, please consider including node and zone information in the writeback_reclaim_wait tracepoint. The memcg people might want to be able to see the memcg which I guess could be available node=[NID|memcg] NID if zone >=0 memcg if zone == -1 Which is hacky but avoids creating two tracepoints. > > > A global wait queue and reclaim_wait() is introduced. The waiters will > > > be wakeup when pages are rotated by end_page_writeback() or lru drain. > > > > > > I have to say its effectiveness depends on the filesystem... ext4 > > > and btrfs do fluent IO completions, so reclaim_wait() works pretty > > > well: > > > dd-14560 [017] .... 1360.894605: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > > dd-14560 [017] .... 1360.904456: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=8000 > > > dd-14560 [017] .... 1360.908293: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > dd-14560 [017] .... 1360.923960: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > > dd-14560 [017] .... 1360.927810: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > dd-14560 [017] .... 1360.931656: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > dd-14560 [017] .... 1360.943503: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > > dd-14560 [017] .... 1360.953289: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=7000 > > > dd-14560 [017] .... 1360.957177: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > dd-14560 [017] .... 1360.972949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > > > > > However XFS does IO completions in very large batches (there may be > > > only several big IO completions in one second). So reclaim_wait() > > > mostly end up waiting to the full HZ/10 timeout: > > > > > > dd-4177 [008] .... 866.367661: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [010] .... 866.567583: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [012] .... 866.767458: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [013] .... 866.867419: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [008] .... 867.167266: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [010] .... 867.367168: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [012] .... 867.818950: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [013] .... 867.918905: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [013] .... 867.971657: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > > > dd-4177 [013] .... 867.971812: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=0 > > > dd-4177 [008] .... 868.355700: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > dd-4177 [010] .... 868.700515: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > > > > And where people will get hit by regressions in this area is writing to > > vfat and in more rare cases ntfs on USB stick. > > vfat IO completions seem to lie somewhere between ext4 and xfs: > > <...>-46385 [010] .... 143570.714470: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [008] .... 143570.752391: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=12000 > <...>-46385 [008] .... 143570.937327: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > <...>-46385 [010] .... 143571.160252: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [011] .... 143571.286197: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [008] .... 143571.329644: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > <...>-46385 [008] .... 143571.475433: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=18000 > <...>-46385 [008] .... 143571.653461: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > <...>-46385 [008] .... 143571.839949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=56000 > <...>-46385 [010] .... 143572.060816: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [011] .... 143572.185754: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [008] .... 143572.212522: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 > <...>-46385 [008] .... 143572.217825: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > <...>-46385 [008] .... 143572.312395: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=91000 > <...>-46385 [008] .... 143572.315122: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 > <...>-46385 [009] .... 143572.433630: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > <...>-46385 [010] .... 143572.534569: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > Ok. It's interesting to note that we are stalling a lot there - roughly 30ms every second. As long as it's the writer, that's fine. If it's firefox, it will create bug reports :) > > > > > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > > > > > if (PageWriteback(page)) { > > > nr_writeback++; > > > + if (PageReclaim(page)) > > > + nr_pgreclaim++; > > > + else > > > + SetPageReclaim(page); > > > /* > > > > This check is unexpected. We already SetPageReclaim when queuing pages for > > IO from reclaim context and if dirty pages are encountered during the LRU > > scan that cannot be queued for IO. How often is it that nr_pgreclaim != > > nr_writeback and by how much do they differ? > > Quite often, I suspect. The pageout writeback works do 1-8MB write > around which may start I/O a bit earlier than the covered pages are > encountered by page reclaim. ext4 forces 128MB write chunk size, which > further increases the opportunities. > Ok, thanks for the clarification. Stick a wee comment on it please. > > > * Synchronous reclaim cannot queue pages for > > > * writeback due to the possibility of stack overflow > > > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > > > nr_dirty++; > > > > > > /* > > > - * Only kswapd can writeback filesystem pages to > > > - * avoid risk of stack overflow but do not writeback > > > - * unless under significant pressure. > > > + * run into the visited page again: we are scanning > > > + * faster than the flusher can writeout dirty pages > > > */ > > > > which in itself is not an abnormal condition. We get into this situation > > when writing to USB. Dirty throttling stops too much memory getting dirtied > > but that does not mean we should throttle instead of reclaiming clean pages. > > > > That's why I worry that if this is aimed at fixing a memcg problem, it > > will have the impact of making interactive performance on normal systems > > worse. > > You are right. This patch only addresses the pageout I/O efficiency > and dirty throttling problems for a fully dirtied LRU. Next step, I'll > think about the interactive performance problem for a less dirtied LRU. > Ok, thanks. > > > > > > If the intention is to avoid memcg going OOM prematurely, the > > nr_pgreclaim value needs to be treated at a higher level that records > > how many PageReclaim pages were encountered. If no progress was made > > because all the pages were PageReclaim, then throttle and return 1 to > > the page allocator where it will retry the allocation without going OOM > > after some pages have been cleaned and reclaimed. > > Agreed in general, but changed to this test for now, which is made a > bit more global wise with the use of zone_dirty_ok(). > Ok, sure. We know what to look out for and where unrelated regressions might get introduced. > memcg is ignored due to no dirty accounting (Greg has the patch though). > And even zone_dirty_ok() may be inaccurate for the global reclaim, if > some memcgs are skipped by the global reclaim by the memcg soft limit. > > But anyway, it's a handy hack for now. I'm looking into some more > radical changes to put most dirty/writeback pages into a standalone > LRU list (in addition to your LRU_IMMEDIATE, which I think is a good > idea) for addressing the clustered way they tend to lie in the > inactive LRU list. > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > + reclaim_wait(HZ/10); > This should make it harder to get stalled. Your tracepoint should help us catch if it happens unnecessarily. > --- > Subject: writeback: introduce the pageout work > Date: Thu Jul 29 14:41:19 CST 2010 > > This relays file pageout IOs to the flusher threads. > > The ultimate target is to gracefully handle the LRU lists full of > dirty/writeback pages. > It would be worth mentioning in the changelog that this is much more important now that page reclaim generally does not writeout filesystem-backed pages. > 1) I/O efficiency > > The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. > > This takes advantage of the time/spacial locality in most workloads: the > nearby pages of one file are typically populated into the LRU at the same > time, hence will likely be close to each other in the LRU list. Writing > them in one shot helps clean more pages effectively for page reclaim. > > 2) OOM avoidance and scan rate control > > Typically we do LRU scan w/o rate control and quickly get enough clean > pages for the LRU lists not full of dirty pages. > > Or we can still get a number of freshly cleaned pages (moved to LRU tail > by end_page_writeback()) when the queued pageout I/O is completed within > tens of milli-seconds. > > However if the LRU list is small and full of dirty pages, it can be > quickly fully scanned and go OOM before the flusher manages to clean > enough pages. > It's worth pointing out here that generally this does not happen for global reclaim which does dirty throttling but happens easily with memcg LRUs. > A simple yet reliable scheme is employed to avoid OOM and keep scan rate > in sync with the I/O rate: > > if (PageReclaim(page)) > congestion_wait(HZ/10); > This comment is stale now. > PG_reclaim plays the key role. When dirty pages are encountered, we > queue I/O for it, This is misleading. The process that encounters the dirty page does not queue the page for IO unless it is kswapd scanning at high priority (currently anyway, you patch changes it). The process that finds the page queues work for flusher threads that will queue the actual I/O for it at some unknown time in the future. > set PG_reclaim and put it back to the LRU head. > So if PG_reclaim pages are encountered again, it means the dirty page > has not yet been cleaned by the flusher after a full zone scan. It > indicates we are scanning more fast than I/O and shall take a snap. > This is also slightly misleading because the page can be encountered after rescanning the inactive list, not necessarily a full zone scan but it's a minor point. > The runtime behavior on a fully dirtied small LRU list would be: > It will start with a quick scan of the list, queuing all pages for I/O. > Then the scan will be slowed down by the PG_reclaim pages *adaptively* > to match the I/O bandwidth. > > 3) writeback work coordinations > > To avoid memory allocations at page reclaim, a mempool for struct > wb_writeback_work is created. > > wakeup_flusher_threads() is removed because it can easily delay the > more oriented pageout works and even exhaust the mempool reservations. > It's also found to not I/O efficient by frequently submitting writeback > works with small ->nr_pages. > > Background/periodic works will quit automatically, so as to clean the > pages under reclaim ASAP. However for now the sync work can still block > us for long time. > > Jan Kara: limit the search scope. Note that the limited search and work > pool is not a big problem: 1000 IOs under flight are typically more than > enough to saturate the disk. And the overheads of searching in the work > list didn't even show up in the perf report. > > 4) test case > > Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): > > mkdir /cgroup/x > echo 100M > /cgroup/x/memory.limit_in_bytes > echo $$ > /cgroup/x/tasks > > for i in `seq 2` > do > dd if=/dev/zero of=/fs/f$i bs=1k count=1M & > done > > Before patch, the dd tasks are quickly OOM killed. > After patch, they run well with reasonably good performance and overheads: > > 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s > 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s > > iostat -kx 1 > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 > sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 > sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 > sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 > sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 > sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 > sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 > sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 > sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 > sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 > sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 > sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 > sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 > sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 > sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 > sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 > sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 > sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 > sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.25 0.00 15.08 33.92 0.00 50.75 > 0.25 0.00 14.54 35.09 0.00 50.13 > 0.50 0.00 13.57 32.41 0.00 53.52 > 0.50 0.00 11.28 36.84 0.00 51.38 > 0.50 0.00 15.75 32.00 0.00 51.75 > 0.50 0.00 10.50 34.00 0.00 55.00 > 0.50 0.00 17.63 27.46 0.00 54.41 > 0.50 0.00 15.08 30.90 0.00 53.52 > 0.50 0.00 11.28 32.83 0.00 55.39 > 0.75 0.00 16.79 26.82 0.00 55.64 > 0.50 0.00 16.08 29.15 0.00 54.27 > 0.50 0.00 13.50 30.50 0.00 55.50 > 0.50 0.00 14.32 35.18 0.00 50.00 > 0.50 0.00 12.06 33.92 0.00 53.52 > 0.50 0.00 17.29 30.58 0.00 51.63 > 0.50 0.00 15.08 29.65 0.00 54.77 > 0.50 0.00 12.53 29.32 0.00 57.64 > 0.50 0.00 15.29 31.83 0.00 52.38 > > The global dd numbers for comparison: > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 > sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 > sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 > sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 > sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 > sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 > sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 > sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 > sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 > sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 > sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 > sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 > sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.51 0.00 11.22 52.30 0.00 35.97 > 0.25 0.00 10.15 52.54 0.00 37.06 > 0.25 0.00 5.01 56.64 0.00 38.10 > 0.51 0.00 15.15 43.94 0.00 40.40 > 0.25 0.00 12.12 48.23 0.00 39.39 > 0.51 0.00 11.20 53.94 0.00 34.35 > 0.26 0.00 9.72 51.41 0.00 38.62 > 0.76 0.00 9.62 50.63 0.00 38.99 > 0.51 0.00 10.46 53.32 0.00 35.71 > 0.51 0.00 9.41 51.91 0.00 38.17 > 0.25 0.00 10.69 49.62 0.00 39.44 > 0.51 0.00 12.21 52.67 0.00 34.61 > 0.51 0.00 11.45 53.18 0.00 34.86 > > XXX: commit NFS unstable pages via write_inode() > XXX: the added congestion_wait() may be undesirable in some situations > This second XXX may also not be redundant. > CC: Jan Kara > CC: Mel Gorman > Acked-by: Rik van Riel > CC: Greg Thelen > CC: Minchan Kim > Signed-off-by: Wu Fengguang > --- > fs/fs-writeback.c | 169 ++++++++++++++++++++++++++++- > include/linux/backing-dev.h | 2 > include/linux/writeback.h | 4 > include/trace/events/writeback.h | 19 ++- > mm/backing-dev.c | 35 ++++++ > mm/swap.c | 1 > mm/vmscan.c | 32 +++-- > 7 files changed, 245 insertions(+), 17 deletions(-) > > - move congestion_wait() out of the page lock: it's blocking btrfs lock_delalloc_pages() > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 20:11:21.000000000 +0800 > +++ linux/include/linux/backing-dev.h 2012-02-15 12:34:24.000000000 +0800 > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > long congestion_wait(int sync, long timeout); > long wait_iff_congested(struct zone *zone, int sync, long timeout); > +long reclaim_wait(long timeout); > +void reclaim_rotated(void); > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > { > --- linux.orig/mm/backing-dev.c 2012-02-14 20:11:21.000000000 +0800 > +++ linux/mm/backing-dev.c 2012-02-15 12:34:19.000000000 +0800 > @@ -873,3 +873,38 @@ out: > return ret; > } > EXPORT_SYMBOL(wait_iff_congested); > + > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > + Should this be declared on a per-NUMA node basis to avoid throttling on one node being woken up by activity on an unrelated node? reclaim_rorated() is called from a context that has a page so looking up the waitqueue would be easy. Grep for place that initialise kswapd_wait and the initialisation code will be easier although watch that if a node is hot-removed that the queue is woken. > +/** > + * reclaim_wait - wait for some pages being rotated to the LRU tail > + * @timeout: timeout in jiffies > + * > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > + * pages rotated to the LRU so that page reclaim can make progress. > + */ > +long reclaim_wait(long timeout) > +{ > + long ret; > + unsigned long start = jiffies; > + DEFINE_WAIT(wait); > + > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > + ret = io_schedule_timeout(timeout); > + finish_wait(&reclaim_wqh, &wait); > + > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > + jiffies_to_usecs(jiffies - start)); > + > + return ret; > +} > +EXPORT_SYMBOL(reclaim_wait); > + Why do we export this? Only vmscan.c is calling it and I'm scratching my head trying to figure out why a kernel module would want to call it. > +void reclaim_rotated() > +{ style nit void reclaim_rotated(void) > + wait_queue_head_t *wqh = &reclaim_wqh; > + > + if (waitqueue_active(wqh)) > + wake_up(wqh); > +} > + > --- linux.orig/mm/swap.c 2012-02-14 20:11:21.000000000 +0800 > +++ linux/mm/swap.c 2012-02-15 12:27:35.000000000 +0800 > @@ -253,6 +253,7 @@ static void pagevec_move_tail(struct pag > > pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved); > __count_vm_events(PGROTATED, pgmoved); > + reclaim_rotated(); > } > > /* > --- linux.orig/mm/vmscan.c 2012-02-14 20:11:21.000000000 +0800 > +++ linux/mm/vmscan.c 2012-02-16 17:23:17.000000000 +0800 > @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st > struct scan_control *sc, > int priority, > unsigned long *ret_nr_dirty, > - unsigned long *ret_nr_writeback) > + unsigned long *ret_nr_writeback, > + unsigned long *ret_nr_pgreclaim) > { > LIST_HEAD(ret_pages); > LIST_HEAD(free_pages); > @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st > unsigned long nr_congested = 0; > unsigned long nr_reclaimed = 0; > unsigned long nr_writeback = 0; > + unsigned long nr_pgreclaim = 0; > > cond_resched(); > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > if (PageWriteback(page)) { > nr_writeback++; > + if (PageReclaim(page)) > + nr_pgreclaim++; > + else > + SetPageReclaim(page); > /* > * Synchronous reclaim cannot queue pages for > * writeback due to the possibility of stack overflow > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > nr_dirty++; > > /* > - * Only kswapd can writeback filesystem pages to > - * avoid risk of stack overflow but do not writeback > - * unless under significant pressure. > + * run into the visited page again: we are scanning > + * faster than the flusher can writeout dirty pages > */ > - if (page_is_file_cache(page) && > - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { > + if (page_is_file_cache(page) && PageReclaim(page)) { > + nr_pgreclaim++; > + goto keep_locked; > + } This change means that kswapd is no longer doing any writeback from page reclaim. Was that intended because it's not discussed in the changelog. I know writeback from kswapd is poor in terms of IO performance but it's a last resort for freeing a page when reclaim is in trouble. If we are to disable it and depend 100% on the flusher threads, it should be in its own patch for bisection reasons if nothing else. > + if (page_is_file_cache(page) && mapping && > + flush_inode_page(mapping, page, false) >= 0) { > /* > * Immediately reclaim when written back. > * Similar in principal to deactivate_page() > @@ -1028,6 +1037,7 @@ keep_lumpy: > count_vm_events(PGACTIVATE, pgactivate); > *ret_nr_dirty += nr_dirty; > *ret_nr_writeback += nr_writeback; > + *ret_nr_pgreclaim += nr_pgreclaim; > return nr_reclaimed; > } > > @@ -1509,6 +1519,7 @@ shrink_inactive_list(unsigned long nr_to > unsigned long nr_file; > unsigned long nr_dirty = 0; > unsigned long nr_writeback = 0; > + unsigned long nr_pgreclaim = 0; > isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; > struct zone *zone = mz->zone; > > @@ -1559,13 +1570,13 @@ shrink_inactive_list(unsigned long nr_to > spin_unlock_irq(&zone->lru_lock); > > nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, > - &nr_dirty, &nr_writeback); > + &nr_dirty, &nr_writeback, &nr_pgreclaim); > > /* Check if we should syncronously wait for writeback */ > if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { > set_reclaim_mode(priority, sc, true); > nr_reclaimed += shrink_page_list(&page_list, mz, sc, > - priority, &nr_dirty, &nr_writeback); > + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); > } > > spin_lock_irq(&zone->lru_lock); > @@ -1608,6 +1619,9 @@ shrink_inactive_list(unsigned long nr_to > */ > if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > + reclaim_wait(HZ/10); > I prefer this but it would be nice if there was a comment explaining it or at least expand the comment explaining how nr_writeback can lead to wait_iff_congested() being called. > trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, > zone_idx(zone), > @@ -2382,8 +2396,6 @@ static unsigned long do_try_to_free_page > */ > writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; > if (total_scanned > writeback_threshold) { > - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, > - WB_REASON_TRY_TO_FREE_PAGES); > sc->may_writepage = 1; > } > > --- linux.orig/fs/fs-writeback.c 2012-02-14 20:11:21.000000000 +0800 > +++ linux/fs/fs-writeback.c 2012-02-15 12:27:35.000000000 +0800 > @@ -41,6 +41,8 @@ struct wb_writeback_work { > long nr_pages; > struct super_block *sb; > unsigned long *older_than_this; > + struct inode *inode; > + pgoff_t offset; > enum writeback_sync_modes sync_mode; > unsigned int tagged_writepages:1; > unsigned int for_kupdate:1; > @@ -65,6 +67,27 @@ struct wb_writeback_work { > */ > int nr_pdflush_threads; > > +static mempool_t *wb_work_mempool; > + > +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) > +{ > + /* > + * bdi_flush_inode_range() may be called on page reclaim > + */ > + if (current->flags & PF_MEMALLOC) > + return NULL; > + This check is why I worry about kswapd being unable to write pages at all. If the mempool is depleted for whatever reason, reclaim has no way of telling the flushers what work is needed or waking them. Potentially, we could be waiting a long time for pending flusher work to complete to free up a slot. I recognise it may not be bad in practice because the pool is large and other work will be completing but it's why kswapd not writing back pages should be in its own patch. > + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); > +} > + > +static __init int wb_work_init(void) > +{ > + wb_work_mempool = mempool_create(1024, > + wb_work_alloc, mempool_kfree, NULL); > + return wb_work_mempool ? 0 : -ENOMEM; > +} > +fs_initcall(wb_work_init); > + > /** > * writeback_in_progress - determine whether there is writeback in progress > * @bdi: the device's backing_dev_info structure. > @@ -129,7 +152,7 @@ __bdi_start_writeback(struct backing_dev > * This is WB_SYNC_NONE writeback, so if allocation fails just > * wakeup the thread for old dirty data writeback > */ > - work = kzalloc(sizeof(*work), GFP_ATOMIC); > + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); > if (!work) { > if (bdi->wb.task) { > trace_writeback_nowork(bdi); > @@ -138,6 +161,7 @@ __bdi_start_writeback(struct backing_dev > return; > } > > + memset(work, 0, sizeof(*work)); > work->sync_mode = WB_SYNC_NONE; > work->nr_pages = nr_pages; > work->range_cyclic = range_cyclic; > @@ -186,6 +210,125 @@ void bdi_start_background_writeback(stru > spin_unlock_bh(&bdi->wb_lock); > } > > +static bool extend_writeback_range(struct wb_writeback_work *work, > + pgoff_t offset, > + unsigned long write_around_pages) > +{ comment on what this function is for and what the return values mean. "returns true if the wb_writeback_work now encompasses the request" or something > + pgoff_t end = work->offset + work->nr_pages; > + > + if (offset >= work->offset && offset < end) > + return true; > + This does not ensure that the full span of offset -> offset+write_around_pages is encompassed by work. All it checks is that the start of the requested range is going to be handled. I guess it's ok because the page reclaims cares about is covered and avoids a situation where too much IO is being queued. It's unclear if this is what you intended though because you check for too much IO being queued in the next block. > + /* > + * for sequential workloads with good locality, include up to 8 times > + * more data in one chunk > + */ > + if (work->nr_pages >= 8 * write_around_pages) > + return false; > + > + /* the unsigned comparison helps eliminate one compare */ > + if (work->offset - offset < write_around_pages) { > + work->nr_pages += write_around_pages; > + work->offset -= write_around_pages; > + return true; > + } > + > + if (offset - end < write_around_pages) { > + work->nr_pages += write_around_pages; > + return true; > + } > + > + return false; > +} > + > +/* > + * schedule writeback on a range of inode pages. > + */ > +static struct wb_writeback_work * > +bdi_flush_inode_range(struct backing_dev_info *bdi, > + struct inode *inode, > + pgoff_t offset, > + pgoff_t len, > + bool wait) > +{ > + struct wb_writeback_work *work; > + > + if (!igrab(inode)) > + return ERR_PTR(-ENOENT); > + Explain why the igrab is necessary. I think it's because we are calling this from page reclaim context and the only thing pinning the address_space is the page lock . If I'm right, it should be made clear in the comment for bdi_flush_inode_range that this should only be called from page reclaim context. Maybe even VM_BUG_ON if !(current->flags & PF_MEMALLOC)? > + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); > + if (!work) { > + trace_printk("wb_work_mempool alloc fail\n"); > + return ERR_PTR(-ENOMEM); > + } > + > + memset(work, 0, sizeof(*work)); > + work->sync_mode = WB_SYNC_NONE; > + work->inode = inode; > + work->offset = offset; > + work->nr_pages = len; > + work->reason = WB_REASON_PAGEOUT; > + > + bdi_queue_work(bdi, work); > + > + return work; > +} > + > +/* > + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to > + * improve IO throughput. The nearby pages will have good chance to reside in > + * the same LRU list that vmscan is working on, and even close to each other > + * inside the LRU list in the common case of sequential read/write. > + * > + * ret > 0: success, found/reused a previous writeback work > + * ret = 0: success, allocated/queued a new writeback work > + * ret < 0: failed > + */ > +long flush_inode_page(struct address_space *mapping, > + struct page *page, > + bool wait) > +{ > + struct backing_dev_info *bdi = mapping->backing_dev_info; > + struct inode *inode = mapping->host; > + struct wb_writeback_work *work; > + unsigned long write_around_pages; > + pgoff_t offset = page->index; > + int i; > + long ret = 0; > + > + if (unlikely(!inode)) > + return -ENOENT; > + > + /* > + * piggy back 8-15ms worth of data > + */ > + write_around_pages = bdi->avg_write_bandwidth + MIN_WRITEBACK_PAGES; > + write_around_pages = rounddown_pow_of_two(write_around_pages) >> 6; > + > + i = 1; > + spin_lock_bh(&bdi->wb_lock); > + list_for_each_entry_reverse(work, &bdi->work_list, list) { > + if (work->inode != inode) > + continue; > + if (extend_writeback_range(work, offset, write_around_pages)) { > + ret = i; > + break; > + } > + if (i++ > 100) /* limit search depth */ > + break; No harm to move Jan's comment on depth limit search to here adding why 100 is as good as number as any to use. > + } > + spin_unlock_bh(&bdi->wb_lock); > + > + if (!ret) { > + offset = round_down(offset, write_around_pages); > + work = bdi_flush_inode_range(bdi, inode, > + offset, write_around_pages, wait); > + if (IS_ERR(work)) > + ret = PTR_ERR(work); > + } > + return ret; > +} > + > /* > * Remove the inode from the writeback list it is on. > */ > @@ -833,6 +976,23 @@ static unsigned long get_nr_dirty_pages( > get_nr_dirty_inodes(); > } > > +static long wb_flush_inode(struct bdi_writeback *wb, > + struct wb_writeback_work *work) > +{ > + struct writeback_control wbc = { > + .sync_mode = WB_SYNC_NONE, > + .nr_to_write = LONG_MAX, > + .range_start = work->offset << PAGE_CACHE_SHIFT, > + .range_end = (work->offset + work->nr_pages - 1) > + << PAGE_CACHE_SHIFT, > + }; > + > + do_writepages(work->inode->i_mapping, &wbc); > + iput(work->inode); > + > + return LONG_MAX - wbc.nr_to_write; > +} > + > static long wb_check_background_flush(struct bdi_writeback *wb) > { > if (over_bground_thresh(wb->bdi)) { > @@ -905,7 +1065,10 @@ long wb_do_writeback(struct bdi_writebac > > trace_writeback_exec(bdi, work); > > - wrote += wb_writeback(wb, work); > + if (work->inode) > + wrote += wb_flush_inode(wb, work); > + else > + wrote += wb_writeback(wb, work); > > /* > * Notify the caller of completion if this is a synchronous > @@ -914,7 +1077,7 @@ long wb_do_writeback(struct bdi_writebac > if (work->done) > complete(work->done); > else > - kfree(work); > + mempool_free(work, wb_work_mempool); > } > > /* > --- linux.orig/include/trace/events/writeback.h 2012-02-14 20:11:22.000000000 +0800 > +++ linux/include/trace/events/writeback.h 2012-02-15 12:27:35.000000000 +0800 > @@ -23,7 +23,7 @@ > > #define WB_WORK_REASON \ > {WB_REASON_BACKGROUND, "background"}, \ > - {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \ > + {WB_REASON_PAGEOUT, "pageout"}, \ > {WB_REASON_SYNC, "sync"}, \ > {WB_REASON_PERIODIC, "periodic"}, \ > {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \ > @@ -45,6 +45,8 @@ DECLARE_EVENT_CLASS(writeback_work_class > __field(int, range_cyclic) > __field(int, for_background) > __field(int, reason) > + __field(unsigned long, ino) > + __field(unsigned long, offset) > ), > TP_fast_assign( > strncpy(__entry->name, dev_name(bdi->dev), 32); > @@ -55,9 +57,11 @@ DECLARE_EVENT_CLASS(writeback_work_class > __entry->range_cyclic = work->range_cyclic; > __entry->for_background = work->for_background; > __entry->reason = work->reason; > + __entry->ino = work->inode ? work->inode->i_ino : 0; > + __entry->offset = work->offset; > ), > TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " > - "kupdate=%d range_cyclic=%d background=%d reason=%s", > + "kupdate=%d range_cyclic=%d background=%d reason=%s ino=%lu offset=%lu", > __entry->name, > MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), > __entry->nr_pages, > @@ -65,7 +69,9 @@ DECLARE_EVENT_CLASS(writeback_work_class > __entry->for_kupdate, > __entry->range_cyclic, > __entry->for_background, > - __print_symbolic(__entry->reason, WB_WORK_REASON) > + __print_symbolic(__entry->reason, WB_WORK_REASON), > + __entry->ino, > + __entry->offset > ) > ); > #define DEFINE_WRITEBACK_WORK_EVENT(name) \ > @@ -437,6 +443,13 @@ DEFINE_EVENT(writeback_congest_waited_te > TP_ARGS(usec_timeout, usec_delayed) > ); > > +DEFINE_EVENT(writeback_congest_waited_template, writeback_reclaim_wait, > + > + TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), > + > + TP_ARGS(usec_timeout, usec_delayed) > +); > + > DECLARE_EVENT_CLASS(writeback_single_inode_template, > > TP_PROTO(struct inode *inode, > --- linux.orig/include/linux/writeback.h 2012-02-14 20:11:21.000000000 +0800 > +++ linux/include/linux/writeback.h 2012-02-15 12:27:35.000000000 +0800 > @@ -40,7 +40,7 @@ enum writeback_sync_modes { > */ > enum wb_reason { > WB_REASON_BACKGROUND, > - WB_REASON_TRY_TO_FREE_PAGES, > + WB_REASON_PAGEOUT, > WB_REASON_SYNC, > WB_REASON_PERIODIC, > WB_REASON_LAPTOP_TIMER, > @@ -94,6 +94,8 @@ long writeback_inodes_wb(struct bdi_writ > enum wb_reason reason); > long wb_do_writeback(struct bdi_writeback *wb, int force_wait); > void wakeup_flusher_threads(long nr_pages, enum wb_reason reason); > +long flush_inode_page(struct address_space *mapping, struct page *page, > + bool wait); > > /* writeback.h requires fs.h; it, too, is not included from here. */ > static inline void wait_on_inode(struct inode *inode) -- Mel Gorman SUSE Labs -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx146.postini.com [74.125.245.146]) by kanga.kvack.org (Postfix) with SMTP id 0C6BF6B00FD for ; Fri, 17 Feb 2012 11:51:40 -0500 (EST) Date: Sat, 18 Feb 2012 00:41:33 +0800 From: Wu Fengguang Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120217164133.GA4871@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> <20120216040019.GB17597@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216040019.GB17597@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Jan Kara Cc: Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim > > > And I find the pageout works seem to have some problems with ext4. > > > For example, this can be easily triggered with 10 dd tasks running > > > inside the 100MB limited memcg: > > So journal thread is getting stuck while committing transaction. Most > > likely waiting for some dd thread to stop a transaction so that commit can > > proceed. The processes waiting in start_this_handle() are just secondary > > effect resulting from the first problem. It might be interesting to get > > stack traces of all bloked processes when the journal thread is stuck. > > For completeness of discussion, citing your conclusion on my private > data feed: > > : We enter memcg reclaim from grab_cache_page_write_begin() and are > : waiting in congestion_wait(). Because grab_cache_page_write_begin() is > : called with transaction started, this blocks transaction from > : committing and subsequently blocks all other activity on the > : filesystem. The fact is this isn't new with your patches, just your > : changes or the fact that we are running in a memory constrained cgroup > : make this more visible. Maybe I'm missing some deep FS restrictions, but can this page allocation (and the one in ext4_write_begin) be moved before ext4_journal_start()? So that the page reclaim can throttle the __GFP_WRITE allocations at will. --- fs/ext4/inode.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) --- linux.orig/fs/ext4/inode.c 2012-02-18 00:10:27.000000000 +0800 +++ linux/fs/ext4/inode.c 2012-02-18 00:31:19.000000000 +0800 @@ -2398,38 +2398,38 @@ static int ext4_da_write_begin(struct fi if (ext4_nonda_switch(inode->i_sb)) { *fsdata = (void *)FALL_BACK_TO_NONDELALLOC; return ext4_write_begin(file, mapping, pos, len, flags, pagep, fsdata); } *fsdata = (void *)0; trace_ext4_da_write_begin(inode, pos, len, flags); retry: + page = grab_cache_page_write_begin(mapping, index, flags); + if (!page) { + ret = -ENOMEM; + goto out; + } + *pagep = page; + /* * With delayed allocation, we don't log the i_disksize update * if there is delayed block allocation. But we still need * to journalling the i_disksize update if writes to the end * of file which has an already mapped buffer. */ handle = ext4_journal_start(inode, 1); if (IS_ERR(handle)) { ret = PTR_ERR(handle); + unlock_page(page); + page_cache_release(page); + if (pos + len > inode->i_size) + truncate_inode_pages(inode->i_mapping, inode->i_size); goto out; } - /* We cannot recurse into the filesystem as the transaction is already - * started */ - flags |= AOP_FLAG_NOFS; - - page = grab_cache_page_write_begin(mapping, index, flags); - if (!page) { - ext4_journal_stop(handle); - ret = -ENOMEM; - goto out; - } - *pagep = page; ret = __block_write_begin(page, pos, len, ext4_da_get_block_prep); if (ret < 0) { unlock_page(page); ext4_journal_stop(handle); page_cache_release(page); /* * block_write_begin may have instantiated a few blocks -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx128.postini.com [74.125.245.128]) by kanga.kvack.org (Postfix) with SMTP id 7381D6B002C for ; Mon, 20 Feb 2012 09:00:15 -0500 (EST) Date: Mon, 20 Feb 2012 15:00:10 +0100 From: Jan Kara Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120220140010.GF6799@quack.suse.cz> References: <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <4F36816A.6030609@redhat.com> <20120212031029.GA17435@localhost> <20120213154313.GD6478@quack.suse.cz> <20120214100348.GA7000@localhost> <20120214132950.GE1934@quack.suse.cz> <20120216040019.GB17597@localhost> <20120217164133.GA4871@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120217164133.GA4871@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Wu Fengguang Cc: Jan Kara , Rik van Riel , Greg Thelen , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Mel Gorman , Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Minchan Kim On Sat 18-02-12 00:41:33, Wu Fengguang wrote: > > > > And I find the pageout works seem to have some problems with ext4. > > > > For example, this can be easily triggered with 10 dd tasks running > > > > inside the 100MB limited memcg: > > > So journal thread is getting stuck while committing transaction. Most > > > likely waiting for some dd thread to stop a transaction so that commit can > > > proceed. The processes waiting in start_this_handle() are just secondary > > > effect resulting from the first problem. It might be interesting to get > > > stack traces of all bloked processes when the journal thread is stuck. > > > > For completeness of discussion, citing your conclusion on my private > > data feed: > > > > : We enter memcg reclaim from grab_cache_page_write_begin() and are > > : waiting in congestion_wait(). Because grab_cache_page_write_begin() is > > : called with transaction started, this blocks transaction from > > : committing and subsequently blocks all other activity on the > > : filesystem. The fact is this isn't new with your patches, just your > > : changes or the fact that we are running in a memory constrained cgroup > > : make this more visible. > > Maybe I'm missing some deep FS restrictions, but can this page > allocation (and the one in ext4_write_begin) be moved before > ext4_journal_start()? So that the page reclaim can throttle the > __GFP_WRITE allocations at will. You are missing the fact that in this way, things would deadlock quickly. Lock ordering of ext4 is 'transaction start' -> 'page lock' (so that writepages may be efficient) and so you cannot really have it differently here - you can think of transaction start - transaction end pair as a lock - unlock for lock ordering purposes. You could play some tricks like allocating the page without locking, starting a transaction, locking a page and checking that everything is OK but it isn't really nice and when memory pressure is big, the gain is questionable. Honza > --- > fs/ext4/inode.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > --- linux.orig/fs/ext4/inode.c 2012-02-18 00:10:27.000000000 +0800 > +++ linux/fs/ext4/inode.c 2012-02-18 00:31:19.000000000 +0800 > @@ -2398,38 +2398,38 @@ static int ext4_da_write_begin(struct fi > if (ext4_nonda_switch(inode->i_sb)) { > *fsdata = (void *)FALL_BACK_TO_NONDELALLOC; > return ext4_write_begin(file, mapping, pos, > len, flags, pagep, fsdata); > } > *fsdata = (void *)0; > trace_ext4_da_write_begin(inode, pos, len, flags); > retry: > + page = grab_cache_page_write_begin(mapping, index, flags); > + if (!page) { > + ret = -ENOMEM; > + goto out; > + } > + *pagep = page; > + > /* > * With delayed allocation, we don't log the i_disksize update > * if there is delayed block allocation. But we still need > * to journalling the i_disksize update if writes to the end > * of file which has an already mapped buffer. > */ > handle = ext4_journal_start(inode, 1); > if (IS_ERR(handle)) { > ret = PTR_ERR(handle); > + unlock_page(page); > + page_cache_release(page); > + if (pos + len > inode->i_size) > + truncate_inode_pages(inode->i_mapping, inode->i_size); > goto out; > } > - /* We cannot recurse into the filesystem as the transaction is already > - * started */ > - flags |= AOP_FLAG_NOFS; > - > - page = grab_cache_page_write_begin(mapping, index, flags); > - if (!page) { > - ext4_journal_stop(handle); > - ret = -ENOMEM; > - goto out; > - } > - *pagep = page; > > ret = __block_write_begin(page, pos, len, ext4_da_get_block_prep); > if (ret < 0) { > unlock_page(page); > ext4_journal_stop(handle); > page_cache_release(page); > /* > * block_write_begin may have instantiated a few blocks -- Jan Kara SUSE Labs, CR -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx148.postini.com [74.125.245.148]) by kanga.kvack.org (Postfix) with SMTP id 2A7526B002C for ; Mon, 27 Feb 2012 09:29:32 -0500 (EST) Date: Mon, 27 Feb 2012 22:24:13 +0800 From: Fengguang Wu Subject: Re: reclaim the LRU lists full of dirty/writeback pages Message-ID: <20120227142413.GA17437@localhost> References: <20120208093120.GA18993@localhost> <20120210114706.GA4704@localhost> <20120211124445.GA10826@localhost> <20120214101931.GB5938@suse.de> <20120214131812.GA17625@localhost> <20120214155124.GC5938@suse.de> <20120216095042.GC17597@localhost> <20120216173111.GA8555@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120216173111.GA8555@suse.de> Sender: owner-linux-mm@kvack.org List-ID: To: Mel Gorman Cc: Greg Thelen , Jan Kara , "bsingharora@gmail.com" , Hugh Dickins , Michal Hocko , linux-mm@kvack.org, Ying Han , "hannes@cmpxchg.org" , KAMEZAWA Hiroyuki , Rik van Riel , Minchan Kim Mel, Thanks a lot for the in depth review! On Thu, Feb 16, 2012 at 05:31:11PM +0000, Mel Gorman wrote: > On Thu, Feb 16, 2012 at 05:50:42PM +0800, Wu Fengguang wrote: > > On Tue, Feb 14, 2012 at 03:51:24PM +0000, Mel Gorman wrote: > > > On Tue, Feb 14, 2012 at 09:18:12PM +0800, Wu Fengguang wrote: > > > > > For the OOM problem, a more reasonable stopgap might be to identify when > > > > > a process is scanning a memcg at high priority and encountered all > > > > > PageReclaim with no forward progress and to congestion_wait() if that > > > > > situation occurs. A preferable way would be to wait until the flusher > > > > > wakes up a waiter on PageReclaim pages to be written out because we want > > > > > to keep moving way from congestion_wait() if at all possible. > > > > > > > > Good points! Below is the more serious page reclaim changes. > > > > > > > > The dirty/writeback pages may often come close to each other in the > > > > LRU list, so the local test during a 32-page scan may still trigger > > > > reclaim waits unnecessarily. > > > > > > Yes, this is particularly the case when writing back to USB. It is not > > > unusual that all dirty pages under writeback are backed by USB and at the > > > end of the LRU. Right now what happens is that reclaimers see higher CPU > > > usage as they scan over these pages uselessly. If the wrong choice is > > > made on how to throttle, we'll see yet more variants of the "system > > > responsiveness drops when writing to USB". > > > > Yes, USB is an important case to support. I'd imagine the heavy USB > > writes typically happen in desktops and run *outside* of any memcg. > > I would expect it's common that USB writes are outside a memcg. > > > So they'll typically take <= 20% memory in the zone. As long as we > > start the PG_reclaim throttling only when above the 20% dirty > > threshold (ie. on zone_dirty_ok()), the USB case should be safe. > > > > It's not just the USB writer, it's unrelated process that are allocating > memory at the same time the writing happens. What we want to avoid is a > situation where something like firefox or evolution or even gnome-terminal > is performing a small read and gets either > > a) started for IO bandwidth and stalls (not the focus here obviously) > b) enter page reclaim, finds PG_reclaim pages from the USB write and stalls > > It's (b) we need to watch out for. I accept that this patch is heading > in the right direction and that the tracepoint can be used to identify > processes get throttled unfairly. Before merging, it'd be nice to hear of > such a test and include details in the changelog similar to the test case > in https://bugzilla.kernel.org/show_bug.cgi?id=31142 (a bug that lasted a > *long* time as it turned out, fixes merged for 3.3 with sync-light migration). To avoid PG_reclaim waiting for unrelated page allocators, I improved the patch to a) distinguish dirtier tasks and unrelated clean tasks by testing 1) whether __GFP_WRITE is set 2) whether current->nr_dirtied changed recently b) put dirtier tasks to wait at lower dirty fill levels (~50%) and clean tasks at much higher threshold (80%). To test the "desktop responsiveness on dd to USB" case, I run one dd to USB (6-7MB/s) and another dd from a huge sparse file (857 MB/s) on kernel 3.3.0-rc4 plus the to-be-posted dirty reclaim patch. The result is perfect, I see no single waits of any kind: $ grep -r . /debug/vm /debug/vm/nr_reclaim_throttle_clean:0 /debug/vm/nr_reclaim_throttle_kswapd:0 /debug/vm/nr_reclaim_throttle_recent_write:0 /debug/vm/nr_reclaim_throttle_write:0 /debug/vm/nr_congestion_wait:0 /debug/vm/nr_reclaim_wait_congested:0 /debug/vm/nr_reclaim_wait_writeback:0 /debug/vm/nr_migrate_wait_writeback:0 The above numbers are collected by a debug patch that accounts the wait_on_page_writeback(), congestion_wait(), wait_iff_congested(), and reclaim_wait() sleeps. I went further to currently do - startx - start a number of applications and switching through all windows in a loop - run "usemem 6G" (it's a 8G memory box) - swapon All goes pretty smooth until swap is turned on. Upon swapon, the system immediately becomes unusably slow. The wait numbers go up to /debug/vm/nr_reclaim_throttle_clean:0 /debug/vm/nr_reclaim_throttle_kswapd:1771 /debug/vm/nr_reclaim_throttle_recent_write:0 /debug/vm/nr_reclaim_throttle_write:0 /debug/vm/nr_congestion_wait:33 /debug/vm/nr_reclaim_wait_congested:8626 /debug/vm/nr_reclaim_wait_writeback:0 /debug/vm/nr_migrate_wait_writeback:0 There are over 8k wait_iff_congested() sleeps and 1.7k reclaim_wait() sleeps for kswapd. I'm a bit surprised to see nr_reclaim_throttle_write still remains 0 while nr_reclaim_throttle_kswapd goes up.. The congestion_wait traces indicate kswapd run into trouble around some time and triggered a series of congestion_wait()s. This should in turn decrease its scan priority and triggered the reclaim_wait()s for kswapd. <...>-903 [011] .... 1230.617682: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1230.905387: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [000] .... 1231.016542: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1231.042926: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1231.131773: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [000] .... 1231.143408: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1231.165119: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1231.170291: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [010] .... 1231.273022: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [004] .... 1231.359771: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [005] .... 1231.457118: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [011] .... 1231.514525: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [011] .... 1231.515736: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [002] .... 1231.556657: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [002] .... 1231.591155: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [002] .... 1231.592753: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [000] .... 1231.597581: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [002] .... 1231.614586: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [000] .... 1231.639371: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [003] .... 1231.653001: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [003] .... 1231.666135: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [003] .... 1231.676705: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [004] .... 1231.715875: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [004] .... 1231.717754: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [004] .... 1231.718269: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 <...>-903 [004] .... 1231.796658: congestion_wait: balance_pgdat+0x477/0x58c kswapd+0x309/0x322 The wait_iff_congested() sleeps w/ swap may be explained by clustered PG_writeback pages and clustered PG_dirty pages. When there are 32 such pages come back-to-back in the LRU, wait_iff_congested() can easily be triggered into sleeps. IMHO the conditions wait_iff_congested() based on is still kind of "local information" which is not very reliable. The sleeps are not triggered w/o swap because there are now almost no pageout() calls for file pages, hence no chances to increase nr_congested and set ZONE_CONGESTED. > > > > Some global information on the percent > > > > of dirty/writeback pages in the LRU list may help. Anyway the added > > > > tests should still be much better than no protection. > > > > > > > > > > You can tell how many dirty pages and writeback pages are in the zone > > > already. > > > > Right. I changed the test to > > > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > > + reclaim_wait(HZ/10); > > > > And I'd prefer to use a higher threshold than the default 20% for the > > above zone_dirty_ok() test, so that when Johannes' zone dirty > > balancing does the job fine, PG_reclaim based page reclaim throttling > > won't happen at all. > > > > We'd also need to watch that we do not get throttled on small zones > like ZONE_DMA (which shouldn't happen but still). To detect this if > it happens, please consider including node and zone information in the > writeback_reclaim_wait tracepoint. The memcg people might want to be > able to see the memcg which I guess could be available > > node=[NID|memcg] > NID if zone >=0 > memcg if zone == -1 > > Which is hacky but avoids creating two tracepoints. I changed it to mm_vmscan_reclaim_wait w/ output format + TP_printk("usec_timeout=%u usec_delayed=%u memcg=%u node=%u zone=%u", Since it's kind of rate limited code path, there is no need to compact the output. Actually memcg reclaims do have the node/zone ids which might be helpful information. > > > > A global wait queue and reclaim_wait() is introduced. The waiters will > > > > be wakeup when pages are rotated by end_page_writeback() or lru drain. > > > > > > > > I have to say its effectiveness depends on the filesystem... ext4 > > > > and btrfs do fluent IO completions, so reclaim_wait() works pretty > > > > well: > > > > dd-14560 [017] .... 1360.894605: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > > > dd-14560 [017] .... 1360.904456: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=8000 > > > > dd-14560 [017] .... 1360.908293: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > > dd-14560 [017] .... 1360.923960: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > > > dd-14560 [017] .... 1360.927810: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > > dd-14560 [017] .... 1360.931656: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > > dd-14560 [017] .... 1360.943503: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=10000 > > > > dd-14560 [017] .... 1360.953289: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=7000 > > > > dd-14560 [017] .... 1360.957177: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > > > dd-14560 [017] .... 1360.972949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > > > > > > > However XFS does IO completions in very large batches (there may be > > > > only several big IO completions in one second). So reclaim_wait() > > > > mostly end up waiting to the full HZ/10 timeout: > > > > > > > > dd-4177 [008] .... 866.367661: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [010] .... 866.567583: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [012] .... 866.767458: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [013] .... 866.867419: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [008] .... 867.167266: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [010] .... 867.367168: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [012] .... 867.818950: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [013] .... 867.918905: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [013] .... 867.971657: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > > > > dd-4177 [013] .... 867.971812: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=0 > > > > dd-4177 [008] .... 868.355700: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > dd-4177 [010] .... 868.700515: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > > > > > > > And where people will get hit by regressions in this area is writing to > > > vfat and in more rare cases ntfs on USB stick. > > > > vfat IO completions seem to lie somewhere between ext4 and xfs: > > > > <...>-46385 [010] .... 143570.714470: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [008] .... 143570.752391: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=12000 > > <...>-46385 [008] .... 143570.937327: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > > <...>-46385 [010] .... 143571.160252: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [011] .... 143571.286197: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [008] .... 143571.329644: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=15000 > > <...>-46385 [008] .... 143571.475433: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=18000 > > <...>-46385 [008] .... 143571.653461: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=52000 > > <...>-46385 [008] .... 143571.839949: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=56000 > > <...>-46385 [010] .... 143572.060816: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [011] .... 143572.185754: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [008] .... 143572.212522: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 > > <...>-46385 [008] .... 143572.217825: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=2000 > > <...>-46385 [008] .... 143572.312395: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=91000 > > <...>-46385 [008] .... 143572.315122: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=1000 > > <...>-46385 [009] .... 143572.433630: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > <...>-46385 [010] .... 143572.534569: writeback_reclaim_wait: usec_timeout=100000 usec_delayed=100000 > > > > Ok. It's interesting to note that we are stalling a lot there - roughly > 30ms every second. As long as it's the writer, that's fine. If it's > firefox, it will create bug reports :) Good news is, we can reasonably tell firefox from heavy writers with the help of __GFP_WRITE/->nr_dirtied indicators :-) > > > > > > > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > > > > > > > if (PageWriteback(page)) { > > > > nr_writeback++; > > > > + if (PageReclaim(page)) > > > > + nr_pgreclaim++; > > > > + else > > > > + SetPageReclaim(page); > > > > /* > > > > > > This check is unexpected. We already SetPageReclaim when queuing pages for > > > IO from reclaim context and if dirty pages are encountered during the LRU > > > scan that cannot be queued for IO. How often is it that nr_pgreclaim != > > > nr_writeback and by how much do they differ? > > > > Quite often, I suspect. The pageout writeback works do 1-8MB write > > around which may start I/O a bit earlier than the covered pages are > > encountered by page reclaim. ext4 forces 128MB write chunk size, which > > further increases the opportunities. > > > > Ok, thanks for the clarification. Stick a wee comment on it please. OK, added a simple comment: if (PageWriteback(page)) { nr_writeback++; /* + * The pageout works do write around which may put + * close-to-LRU-tail pages to writeback a bit earlier. + */ + if (PageReclaim(page)) + nr_pgreclaim++; + else + SetPageReclaim(page); > > > > * Synchronous reclaim cannot queue pages for > > > > * writeback due to the possibility of stack overflow > > > > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > > > > nr_dirty++; > > > > > > > > /* > > > > - * Only kswapd can writeback filesystem pages to > > > > - * avoid risk of stack overflow but do not writeback > > > > - * unless under significant pressure. > > > > + * run into the visited page again: we are scanning > > > > + * faster than the flusher can writeout dirty pages > > > > */ > > > > > > which in itself is not an abnormal condition. We get into this situation > > > when writing to USB. Dirty throttling stops too much memory getting dirtied > > > but that does not mean we should throttle instead of reclaiming clean pages. > > > > > > That's why I worry that if this is aimed at fixing a memcg problem, it > > > will have the impact of making interactive performance on normal systems > > > worse. > > > > You are right. This patch only addresses the pageout I/O efficiency > > and dirty throttling problems for a fully dirtied LRU. Next step, I'll > > think about the interactive performance problem for a less dirtied LRU. > > > > Ok, thanks. > > > > > > > > > > If the intention is to avoid memcg going OOM prematurely, the > > > nr_pgreclaim value needs to be treated at a higher level that records > > > how many PageReclaim pages were encountered. If no progress was made > > > because all the pages were PageReclaim, then throttle and return 1 to > > > the page allocator where it will retry the allocation without going OOM > > > after some pages have been cleaned and reclaimed. > > > > Agreed in general, but changed to this test for now, which is made a > > bit more global wise with the use of zone_dirty_ok(). > > > > Ok, sure. We know what to look out for and where unrelated regressions > might get introduced. > > > memcg is ignored due to no dirty accounting (Greg has the patch though). > > And even zone_dirty_ok() may be inaccurate for the global reclaim, if > > some memcgs are skipped by the global reclaim by the memcg soft limit. > > > > But anyway, it's a handy hack for now. I'm looking into some more > > radical changes to put most dirty/writeback pages into a standalone > > LRU list (in addition to your LRU_IMMEDIATE, which I think is a good > > idea) for addressing the clustered way they tend to lie in the > > inactive LRU list. > > > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > > + reclaim_wait(HZ/10); > > > > This should make it harder to get stalled. Your tracepoint should help > us catch if it happens unnecessarily. Yeah ;) FYI the above zone_dirty_ok() etc. tests are further expanded to + /* + * If reclaimed any pages, it's safe from busy scanning. Otherwise when + * encountered PG_reclaim pages or writeback work queue congested, + * consider I/O throttling. Try to throttle only the dirtier tasks by + * honouring higher throttle thresholds to kswapd and other clean tasks. + */ + if (!nr_reclaimed && nr_pgreclaim && + should_throttle_dirty(mz, sc, priority)) + reclaim_wait(mz, HZ/10); I choose to not trust the exact number of nr_pgreclaim because it's kind of *unreliable* local information. Instead, the reclaim priority looks a better indicator of a long contiguous run of hard-to-reclaim pages which will be taken into account in should_throttle_dirty(). > > --- > > Subject: writeback: introduce the pageout work > > Date: Thu Jul 29 14:41:19 CST 2010 > > > > This relays file pageout IOs to the flusher threads. > > > > The ultimate target is to gracefully handle the LRU lists full of > > dirty/writeback pages. > > > > It would be worth mentioning in the changelog that this is much more > important now that page reclaim generally does not writeout filesystem-backed > pages. OK. Good point. > > 1) I/O efficiency > > > > The flusher will piggy back the nearby ~10ms worth of dirty pages for I/O. > > > > This takes advantage of the time/spacial locality in most workloads: the > > nearby pages of one file are typically populated into the LRU at the same > > time, hence will likely be close to each other in the LRU list. Writing > > them in one shot helps clean more pages effectively for page reclaim. > > > > 2) OOM avoidance and scan rate control > > > > Typically we do LRU scan w/o rate control and quickly get enough clean > > pages for the LRU lists not full of dirty pages. > > > > Or we can still get a number of freshly cleaned pages (moved to LRU tail > > by end_page_writeback()) when the queued pageout I/O is completed within > > tens of milli-seconds. > > > > However if the LRU list is small and full of dirty pages, it can be > > quickly fully scanned and go OOM before the flusher manages to clean > > enough pages. > > > > It's worth pointing out here that generally this does not happen for global > reclaim which does dirty throttling but happens easily with memcg LRUs. Done. > > A simple yet reliable scheme is employed to avoid OOM and keep scan rate > > in sync with the I/O rate: > > > > if (PageReclaim(page)) > > congestion_wait(HZ/10); > > > > This comment is stale now. Yeah, will update to if (encountered PG_reclaim pages) do some throttle wait followed by introduction of the basic idea as well as further considerations for interactive performance. > > PG_reclaim plays the key role. When dirty pages are encountered, we > > queue I/O for it, > > This is misleading. The process that encounters the dirty page does > not queue the page for IO unless it is kswapd scanning at high priority > (currently anyway, you patch changes it). The process that finds the page > queues work for flusher threads that will queue the actual I/O for it at > some unknown time in the future. You are right. Will change to "queue pageout writeback work for it". > > set PG_reclaim and put it back to the LRU head. > > So if PG_reclaim pages are encountered again, it means the dirty page > > has not yet been cleaned by the flusher after a full zone scan. It > > indicates we are scanning more fast than I/O and shall take a snap. > > > > This is also slightly misleading because the page can be encountered > after rescanning the inactive list, not necessarily a full zone scan but > it's a minor point. Yeah, "inactive list" is more precise. Updated. > > The runtime behavior on a fully dirtied small LRU list would be: > > It will start with a quick scan of the list, queuing all pages for I/O. > > Then the scan will be slowed down by the PG_reclaim pages *adaptively* > > to match the I/O bandwidth. > > > > 3) writeback work coordinations > > > > To avoid memory allocations at page reclaim, a mempool for struct > > wb_writeback_work is created. > > > > wakeup_flusher_threads() is removed because it can easily delay the > > more oriented pageout works and even exhaust the mempool reservations. > > It's also found to not I/O efficient by frequently submitting writeback > > works with small ->nr_pages. > > > > Background/periodic works will quit automatically, so as to clean the > > pages under reclaim ASAP. However for now the sync work can still block > > us for long time. > > > > Jan Kara: limit the search scope. Note that the limited search and work > > pool is not a big problem: 1000 IOs under flight are typically more than > > enough to saturate the disk. And the overheads of searching in the work > > list didn't even show up in the perf report. > > > > 4) test case > > > > Run 2 dd tasks in a 100MB memcg (a very handy test case from Greg Thelen): > > > > mkdir /cgroup/x > > echo 100M > /cgroup/x/memory.limit_in_bytes > > echo $$ > /cgroup/x/tasks > > > > for i in `seq 2` > > do > > dd if=/dev/zero of=/fs/f$i bs=1k count=1M & > > done > > > > Before patch, the dd tasks are quickly OOM killed. > > After patch, they run well with reasonably good performance and overheads: > > > > 1073741824 bytes (1.1 GB) copied, 22.2196 s, 48.3 MB/s > > 1073741824 bytes (1.1 GB) copied, 22.4675 s, 47.8 MB/s > > > > iostat -kx 1 > > > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > > sda 0.00 0.00 0.00 178.00 0.00 89568.00 1006.38 74.35 417.71 4.80 85.40 > > sda 0.00 2.00 0.00 191.00 0.00 94428.00 988.77 53.34 219.03 4.34 82.90 > > sda 0.00 20.00 0.00 196.00 0.00 97712.00 997.06 71.11 337.45 4.77 93.50 > > sda 0.00 5.00 0.00 175.00 0.00 84648.00 967.41 54.03 316.44 5.06 88.60 > > sda 0.00 0.00 0.00 186.00 0.00 92432.00 993.89 56.22 267.54 5.38 100.00 > > sda 0.00 1.00 0.00 183.00 0.00 90156.00 985.31 37.99 325.55 4.33 79.20 > > sda 0.00 0.00 0.00 175.00 0.00 88692.00 1013.62 48.70 218.43 4.69 82.10 > > sda 0.00 0.00 0.00 196.00 0.00 97528.00 995.18 43.38 236.87 5.10 100.00 > > sda 0.00 0.00 0.00 179.00 0.00 88648.00 990.48 45.83 285.43 5.59 100.00 > > sda 0.00 0.00 0.00 178.00 0.00 88500.00 994.38 28.28 158.89 4.99 88.80 > > sda 0.00 0.00 0.00 194.00 0.00 95852.00 988.16 32.58 167.39 5.15 100.00 > > sda 0.00 2.00 0.00 215.00 0.00 105996.00 986.01 41.72 201.43 4.65 100.00 > > sda 0.00 4.00 0.00 173.00 0.00 84332.00 974.94 50.48 260.23 5.76 99.60 > > sda 0.00 0.00 0.00 182.00 0.00 90312.00 992.44 36.83 212.07 5.49 100.00 > > sda 0.00 8.00 0.00 195.00 0.00 95940.50 984.01 50.18 221.06 5.13 100.00 > > sda 0.00 1.00 0.00 220.00 0.00 108852.00 989.56 40.99 202.68 4.55 100.00 > > sda 0.00 2.00 0.00 161.00 0.00 80384.00 998.56 37.19 268.49 6.21 100.00 > > sda 0.00 4.00 0.00 182.00 0.00 90830.00 998.13 50.58 239.77 5.49 100.00 > > sda 0.00 0.00 0.00 197.00 0.00 94877.00 963.22 36.68 196.79 5.08 100.00 > > > > avg-cpu: %user %nice %system %iowait %steal %idle > > 0.25 0.00 15.08 33.92 0.00 50.75 > > 0.25 0.00 14.54 35.09 0.00 50.13 > > 0.50 0.00 13.57 32.41 0.00 53.52 > > 0.50 0.00 11.28 36.84 0.00 51.38 > > 0.50 0.00 15.75 32.00 0.00 51.75 > > 0.50 0.00 10.50 34.00 0.00 55.00 > > 0.50 0.00 17.63 27.46 0.00 54.41 > > 0.50 0.00 15.08 30.90 0.00 53.52 > > 0.50 0.00 11.28 32.83 0.00 55.39 > > 0.75 0.00 16.79 26.82 0.00 55.64 > > 0.50 0.00 16.08 29.15 0.00 54.27 > > 0.50 0.00 13.50 30.50 0.00 55.50 > > 0.50 0.00 14.32 35.18 0.00 50.00 > > 0.50 0.00 12.06 33.92 0.00 53.52 > > 0.50 0.00 17.29 30.58 0.00 51.63 > > 0.50 0.00 15.08 29.65 0.00 54.77 > > 0.50 0.00 12.53 29.32 0.00 57.64 > > 0.50 0.00 15.29 31.83 0.00 52.38 > > > > The global dd numbers for comparison: > > > > Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util > > sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 143.09 684.48 5.29 100.00 > > sda 0.00 0.00 0.00 208.00 0.00 105480.00 1014.23 143.06 733.29 4.81 100.00 > > sda 0.00 0.00 0.00 161.00 0.00 81924.00 1017.69 141.71 757.79 6.21 100.00 > > sda 0.00 0.00 0.00 217.00 0.00 109580.00 1009.95 143.09 749.55 4.61 100.10 > > sda 0.00 0.00 0.00 187.00 0.00 94728.00 1013.13 144.31 773.67 5.35 100.00 > > sda 0.00 0.00 0.00 189.00 0.00 95752.00 1013.25 144.14 742.00 5.29 100.00 > > sda 0.00 0.00 0.00 177.00 0.00 90032.00 1017.31 143.32 656.59 5.65 100.00 > > sda 0.00 0.00 0.00 215.00 0.00 108640.00 1010.60 142.90 817.54 4.65 100.00 > > sda 0.00 2.00 0.00 166.00 0.00 83858.00 1010.34 143.64 808.61 6.02 100.00 > > sda 0.00 0.00 0.00 186.00 0.00 92813.00 997.99 141.18 736.95 5.38 100.00 > > sda 0.00 0.00 0.00 206.00 0.00 104456.00 1014.14 146.27 729.33 4.85 100.00 > > sda 0.00 0.00 0.00 213.00 0.00 107024.00 1004.92 143.25 705.70 4.69 100.00 > > sda 0.00 0.00 0.00 188.00 0.00 95748.00 1018.60 141.82 764.78 5.32 100.00 > > > > avg-cpu: %user %nice %system %iowait %steal %idle > > 0.51 0.00 11.22 52.30 0.00 35.97 > > 0.25 0.00 10.15 52.54 0.00 37.06 > > 0.25 0.00 5.01 56.64 0.00 38.10 > > 0.51 0.00 15.15 43.94 0.00 40.40 > > 0.25 0.00 12.12 48.23 0.00 39.39 > > 0.51 0.00 11.20 53.94 0.00 34.35 > > 0.26 0.00 9.72 51.41 0.00 38.62 > > 0.76 0.00 9.62 50.63 0.00 38.99 > > 0.51 0.00 10.46 53.32 0.00 35.71 > > 0.51 0.00 9.41 51.91 0.00 38.17 > > 0.25 0.00 10.69 49.62 0.00 39.44 > > 0.51 0.00 12.21 52.67 0.00 34.61 > > 0.51 0.00 11.45 53.18 0.00 34.86 > > > > XXX: commit NFS unstable pages via write_inode() > > XXX: the added congestion_wait() may be undesirable in some situations > > > > This second XXX may also not be redundant. Sure. Removed. > > CC: Jan Kara > > CC: Mel Gorman > > Acked-by: Rik van Riel > > CC: Greg Thelen > > CC: Minchan Kim > > Signed-off-by: Wu Fengguang > > --- > > fs/fs-writeback.c | 169 ++++++++++++++++++++++++++++- > > include/linux/backing-dev.h | 2 > > include/linux/writeback.h | 4 > > include/trace/events/writeback.h | 19 ++- > > mm/backing-dev.c | 35 ++++++ > > mm/swap.c | 1 > > mm/vmscan.c | 32 +++-- > > 7 files changed, 245 insertions(+), 17 deletions(-) > > > > - move congestion_wait() out of the page lock: it's blocking btrfs lock_delalloc_pages() > > > > --- linux.orig/include/linux/backing-dev.h 2012-02-14 20:11:21.000000000 +0800 > > +++ linux/include/linux/backing-dev.h 2012-02-15 12:34:24.000000000 +0800 > > @@ -304,6 +304,8 @@ void clear_bdi_congested(struct backing_ > > void set_bdi_congested(struct backing_dev_info *bdi, int sync); > > long congestion_wait(int sync, long timeout); > > long wait_iff_congested(struct zone *zone, int sync, long timeout); > > +long reclaim_wait(long timeout); > > +void reclaim_rotated(void); > > > > static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) > > { > > --- linux.orig/mm/backing-dev.c 2012-02-14 20:11:21.000000000 +0800 > > +++ linux/mm/backing-dev.c 2012-02-15 12:34:19.000000000 +0800 > > @@ -873,3 +873,38 @@ out: > > return ret; > > } > > EXPORT_SYMBOL(wait_iff_congested); > > + > > +static DECLARE_WAIT_QUEUE_HEAD(reclaim_wqh); > > + > > Should this be declared on a per-NUMA node basis to avoid throttling on one > node being woken up by activity on an unrelated node? reclaim_rorated() > is called from a context that has a page so looking up the waitqueue would > be easy. Grep for place that initialise kswapd_wait and the initialisation > code will be easier although watch that if a node is hot-removed that > the queue is woken. OK I've changed reclaim_wqh to per-NUMA node wqh. It may be further expanded to per-memcg wqh in similar way. But note that it will now only wake the node corresponding to one random page in the pagevec. It should work well enough in practice, though. > > +/** > > + * reclaim_wait - wait for some pages being rotated to the LRU tail > > + * @timeout: timeout in jiffies > > + * > > + * Wait until @timeout, or when some (typically PG_reclaim under writeback) > > + * pages rotated to the LRU so that page reclaim can make progress. > > + */ > > +long reclaim_wait(long timeout) > > +{ > > + long ret; > > + unsigned long start = jiffies; > > + DEFINE_WAIT(wait); > > + > > + prepare_to_wait(&reclaim_wqh, &wait, TASK_KILLABLE); > > + ret = io_schedule_timeout(timeout); > > + finish_wait(&reclaim_wqh, &wait); > > + > > + trace_writeback_reclaim_wait(jiffies_to_usecs(timeout), > > + jiffies_to_usecs(jiffies - start)); > > + > > + return ret; > > +} > > +EXPORT_SYMBOL(reclaim_wait); > > + > > Why do we export this? Only vmscan.c is calling it and I'm scratching my > head trying to figure out why a kernel module would want to call it. Err a typical copy&paste error... Removed this and further moved reclaim_wait()/reclaim_rotated() to vmscan.c. > > +void reclaim_rotated() > > +{ > > style nit > > void reclaim_rotated(void) Updated, to... void reclaim_rotated(struct page *page) which will wakeup tasks from the wqh &NODE_DATA(page_to_nid(page))->reclaim_wait > > + wait_queue_head_t *wqh = &reclaim_wqh; > > + > > + if (waitqueue_active(wqh)) > > + wake_up(wqh); > > +} > > + > > --- linux.orig/mm/swap.c 2012-02-14 20:11:21.000000000 +0800 > > +++ linux/mm/swap.c 2012-02-15 12:27:35.000000000 +0800 > > @@ -253,6 +253,7 @@ static void pagevec_move_tail(struct pag > > > > pagevec_lru_move_fn(pvec, pagevec_move_tail_fn, &pgmoved); > > __count_vm_events(PGROTATED, pgmoved); > > + reclaim_rotated(); > > } > > > > /* > > --- linux.orig/mm/vmscan.c 2012-02-14 20:11:21.000000000 +0800 > > +++ linux/mm/vmscan.c 2012-02-16 17:23:17.000000000 +0800 > > @@ -767,7 +767,8 @@ static unsigned long shrink_page_list(st > > struct scan_control *sc, > > int priority, > > unsigned long *ret_nr_dirty, > > - unsigned long *ret_nr_writeback) > > + unsigned long *ret_nr_writeback, > > + unsigned long *ret_nr_pgreclaim) > > { > > LIST_HEAD(ret_pages); > > LIST_HEAD(free_pages); > > @@ -776,6 +777,7 @@ static unsigned long shrink_page_list(st > > unsigned long nr_congested = 0; > > unsigned long nr_reclaimed = 0; > > unsigned long nr_writeback = 0; > > + unsigned long nr_pgreclaim = 0; > > > > cond_resched(); > > > > @@ -813,6 +815,10 @@ static unsigned long shrink_page_list(st > > > > if (PageWriteback(page)) { > > nr_writeback++; > > + if (PageReclaim(page)) > > + nr_pgreclaim++; > > + else > > + SetPageReclaim(page); > > /* > > * Synchronous reclaim cannot queue pages for > > * writeback due to the possibility of stack overflow > > @@ -874,12 +880,15 @@ static unsigned long shrink_page_list(st > > nr_dirty++; > > > > /* > > - * Only kswapd can writeback filesystem pages to > > - * avoid risk of stack overflow but do not writeback > > - * unless under significant pressure. > > + * run into the visited page again: we are scanning > > + * faster than the flusher can writeout dirty pages > > */ > > - if (page_is_file_cache(page) && > > - (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { > > + if (page_is_file_cache(page) && PageReclaim(page)) { > > + nr_pgreclaim++; > > + goto keep_locked; > > + } > > This change means that kswapd is no longer doing any writeback from page > reclaim. Not really skipping all pageout()s. Here we skip PG_reclaim dirty pages because there are already pageout works queued for them. > Was that intended because it's not discussed in the changelog. I > know writeback from kswapd is poor in terms of IO performance but it's a > last resort for freeing a page when reclaim is in trouble. If we are to > disable it and depend 100% on the flusher threads, it should be in its > own patch for bisection reasons if nothing else. I'm actually totally with your points. The patch will still default to pageout() if failed to queue pageout work for the page. But yes, there is the possibility of pageout works delayed by some sync works for a dozen of seconds. In this case the sync work may also hit some PG_reclaim pages and do the clean-and-rotate job for us. But it would certainly be much better to have some kind of guarantee... > > + if (page_is_file_cache(page) && mapping && > > + flush_inode_page(mapping, page, false) >= 0) { > > /* > > * Immediately reclaim when written back. > > * Similar in principal to deactivate_page() > > @@ -1028,6 +1037,7 @@ keep_lumpy: > > count_vm_events(PGACTIVATE, pgactivate); > > *ret_nr_dirty += nr_dirty; > > *ret_nr_writeback += nr_writeback; > > + *ret_nr_pgreclaim += nr_pgreclaim; > > return nr_reclaimed; > > } > > > > @@ -1509,6 +1519,7 @@ shrink_inactive_list(unsigned long nr_to > > unsigned long nr_file; > > unsigned long nr_dirty = 0; > > unsigned long nr_writeback = 0; > > + unsigned long nr_pgreclaim = 0; > > isolate_mode_t reclaim_mode = ISOLATE_INACTIVE; > > struct zone *zone = mz->zone; > > > > @@ -1559,13 +1570,13 @@ shrink_inactive_list(unsigned long nr_to > > spin_unlock_irq(&zone->lru_lock); > > > > nr_reclaimed = shrink_page_list(&page_list, mz, sc, priority, > > - &nr_dirty, &nr_writeback); > > + &nr_dirty, &nr_writeback, &nr_pgreclaim); > > > > /* Check if we should syncronously wait for writeback */ > > if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) { > > set_reclaim_mode(priority, sc, true); > > nr_reclaimed += shrink_page_list(&page_list, mz, sc, > > - priority, &nr_dirty, &nr_writeback); > > + priority, &nr_dirty, &nr_writeback, &nr_pgreclaim); > > } > > > > spin_lock_irq(&zone->lru_lock); > > @@ -1608,6 +1619,9 @@ shrink_inactive_list(unsigned long nr_to > > */ > > if (nr_writeback && nr_writeback >= (nr_taken >> (DEF_PRIORITY-priority))) > > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > > + if (nr_pgreclaim && nr_pgreclaim >= (nr_taken >> (DEF_PRIORITY-priority)) && > > + (!global_reclaim(sc) || !zone_dirty_ok(zone))) > > + reclaim_wait(HZ/10); > > > > I prefer this but it would be nice if there was a comment explaining it > or at least expand the comment explaining how nr_writeback can lead to > wait_iff_congested() being called. Sure, done. > > trace_mm_vmscan_lru_shrink_inactive(zone->zone_pgdat->node_id, > > zone_idx(zone), > > @@ -2382,8 +2396,6 @@ static unsigned long do_try_to_free_page > > */ > > writeback_threshold = sc->nr_to_reclaim + sc->nr_to_reclaim / 2; > > if (total_scanned > writeback_threshold) { > > - wakeup_flusher_threads(laptop_mode ? 0 : total_scanned, > > - WB_REASON_TRY_TO_FREE_PAGES); > > sc->may_writepage = 1; > > } > > > > --- linux.orig/fs/fs-writeback.c 2012-02-14 20:11:21.000000000 +0800 > > +++ linux/fs/fs-writeback.c 2012-02-15 12:27:35.000000000 +0800 > > @@ -41,6 +41,8 @@ struct wb_writeback_work { > > long nr_pages; > > struct super_block *sb; > > unsigned long *older_than_this; > > + struct inode *inode; > > + pgoff_t offset; > > enum writeback_sync_modes sync_mode; > > unsigned int tagged_writepages:1; > > unsigned int for_kupdate:1; > > @@ -65,6 +67,27 @@ struct wb_writeback_work { > > */ > > int nr_pdflush_threads; > > > > +static mempool_t *wb_work_mempool; > > + > > +static void *wb_work_alloc(gfp_t gfp_mask, void *pool_data) > > +{ > > + /* > > + * bdi_flush_inode_range() may be called on page reclaim > > + */ > > + if (current->flags & PF_MEMALLOC) > > + return NULL; > > + > > This check is why I worry about kswapd being unable to write pages at > all. If the mempool is depleted for whatever reason, reclaim has no way > of telling the flushers what work is needed or waking them. Potentially, > we could be waiting a long time for pending flusher work to complete to > free up a slot. I recognise it may not be bad in practice because the > pool is large and other work will be completing but it's why kswapd not > writing back pages should be in its own patch. See above, the patch still falls back to pageout() if we fail to queue the work. The main problem is, it's possible for the *queued* work to be delayed for long time by some other writeback works. It should be trivial to make pageout works the No.1 priority for the flushers, but then that may risk delaying sync() works for long time... > > + return kmalloc(sizeof(struct wb_writeback_work), gfp_mask); > > +} > > + > > +static __init int wb_work_init(void) > > +{ > > + wb_work_mempool = mempool_create(1024, > > + wb_work_alloc, mempool_kfree, NULL); > > + return wb_work_mempool ? 0 : -ENOMEM; > > +} > > +fs_initcall(wb_work_init); > > + > > /** > > * writeback_in_progress - determine whether there is writeback in progress > > * @bdi: the device's backing_dev_info structure. > > @@ -129,7 +152,7 @@ __bdi_start_writeback(struct backing_dev > > * This is WB_SYNC_NONE writeback, so if allocation fails just > > * wakeup the thread for old dirty data writeback > > */ > > - work = kzalloc(sizeof(*work), GFP_ATOMIC); > > + work = mempool_alloc(wb_work_mempool, GFP_NOWAIT); > > if (!work) { > > if (bdi->wb.task) { > > trace_writeback_nowork(bdi); > > @@ -138,6 +161,7 @@ __bdi_start_writeback(struct backing_dev > > return; > > } > > > > + memset(work, 0, sizeof(*work)); > > work->sync_mode = WB_SYNC_NONE; > > work->nr_pages = nr_pages; > > work->range_cyclic = range_cyclic; > > @@ -186,6 +210,125 @@ void bdi_start_background_writeback(stru > > spin_unlock_bh(&bdi->wb_lock); > > } > > > > +static bool extend_writeback_range(struct wb_writeback_work *work, > > + pgoff_t offset, > > + unsigned long write_around_pages) > > +{ > > comment on what this function is for and what the return values mean. > > "returns true if the wb_writeback_work now encompasses the request" > > or something Here it goes: /* * Check if @work already covers @offset, or try to extend it to cover @offset. * Returns true if the wb_writeback_work now encompasses the requested offset. */ > > + pgoff_t end = work->offset + work->nr_pages; > > + > > + if (offset >= work->offset && offset < end) > > + return true; > > + > > This does not ensure that the full span of > offset -> offset+write_around_pages is encompassed by work. All it > checks is that the start of the requested range is going to be handled. Oh this function does not work as you expected. I'd better change the "write_around_pages" parameter name to "unit". Every pageout work starts with [begin, begin+unit] and each time it's extended, the added length will be N*unit. extend_writeback_range() only aims to extend the work to encompass the single page at @offset. "unit" merely serves as the extending unit. > I guess it's ok because the page reclaims cares about is covered and > avoids a situation where too much IO is being queued. It's unclear if > this is what you intended though because you check for too much IO being > queued in the next block. Yeah both the number of pending pageout works and the chunk size of each work will be limited. > > + /* > > + * for sequential workloads with good locality, include up to 8 times > > + * more data in one chunk > > + */ > > + if (work->nr_pages >= 8 * write_around_pages) > > + return false; > > + > > + /* the unsigned comparison helps eliminate one compare */ > > + if (work->offset - offset < write_around_pages) { > > + work->nr_pages += write_around_pages; > > + work->offset -= write_around_pages; > > + return true; > > + } > > + > > + if (offset - end < write_around_pages) { > > + work->nr_pages += write_around_pages; > > + return true; > > + } > > + > > + return false; > > +} > > + > > +/* > > + * schedule writeback on a range of inode pages. > > + */ > > +static struct wb_writeback_work * > > +bdi_flush_inode_range(struct backing_dev_info *bdi, > > + struct inode *inode, > > + pgoff_t offset, > > + pgoff_t len, > > + bool wait) > > +{ > > + struct wb_writeback_work *work; > > + > > + if (!igrab(inode)) > > + return ERR_PTR(-ENOENT); > > + > > Explain why the igrab is necessary. I think it's because we are calling > this from page reclaim context and the only thing pinning the > address_space is the page lock . If I'm right, it should be made clear > in the comment for bdi_flush_inode_range that this should only be called > from page reclaim context. Maybe even VM_BUG_ON if > !(current->flags & PF_MEMALLOC)? OK, I added this comment. /* * Grab the inode until work execution time. We are calling this from * page reclaim context and the only thing pinning the address_space * for the moment is the page lock. */ Maybe not VM_BUG_ON, since it won't hurt that much if called by someone else ;) > > + work = mempool_alloc(wb_work_mempool, wait ? GFP_NOIO : GFP_NOWAIT); > > + if (!work) { > > + trace_printk("wb_work_mempool alloc fail\n"); > > + return ERR_PTR(-ENOMEM); > > + } > > + > > + memset(work, 0, sizeof(*work)); > > + work->sync_mode = WB_SYNC_NONE; > > + work->inode = inode; > > + work->offset = offset; > > + work->nr_pages = len; > > + work->reason = WB_REASON_PAGEOUT; > > + > > + bdi_queue_work(bdi, work); > > + > > + return work; > > +} > > + > > +/* > > + * Called by page reclaim code to flush the dirty page ASAP. Do write-around to > > + * improve IO throughput. The nearby pages will have good chance to reside in > > + * the same LRU list that vmscan is working on, and even close to each other > > + * inside the LRU list in the common case of sequential read/write. > > + * > > + * ret > 0: success, found/reused a previous writeback work > > + * ret = 0: success, allocated/queued a new writeback work > > + * ret < 0: failed > > + */ > > +long flush_inode_page(struct address_space *mapping, > > + struct page *page, > > + bool wait) > > +{ > > + struct backing_dev_info *bdi = mapping->backing_dev_info; > > + struct inode *inode = mapping->host; > > + struct wb_writeback_work *work; > > + unsigned long write_around_pages; > > + pgoff_t offset = page->index; > > + int i; > > + long ret = 0; > > + > > + if (unlikely(!inode)) > > + return -ENOENT; > > + > > + /* > > + * piggy back 8-15ms worth of data > > + */ > > + write_around_pages = bdi->avg_write_bandwidth + MIN_WRITEBACK_PAGES; > > + write_around_pages = rounddown_pow_of_two(write_around_pages) >> 6; > > + > > + i = 1; > > + spin_lock_bh(&bdi->wb_lock); > > + list_for_each_entry_reverse(work, &bdi->work_list, list) { > > + if (work->inode != inode) > > + continue; > > + if (extend_writeback_range(work, offset, write_around_pages)) { > > + ret = i; > > + break; > > + } > > + if (i++ > 100) /* limit search depth */ > > + break; > > No harm to move Jan's comment on depth limit search to here adding why > 100 is as good as number as any to use. Good idea. Here is the refined work pool throttling scheme: /* * Tailored for vmscan which may submit lots of pageout works. The page reclaim * will try to slow down the pageout work submission rate when the queue size * grows to LOTS_OF_WRITEBACK_WORKS. flush_inode_page() will accordingly limit * its search depth to (2 * LOTS_OF_WRITEBACK_WORKS). * * Note that the limited search and work pool is not a big problem: 1024 IOs * under flight are typically more than enough to saturate the disk. And the * overheads of searching in the work list didn't even show up in perf report. */ #define WB_WORK_MEMPOOL_SIZE 1024 #define LOTS_OF_WRITEBACK_WORKS (WB_WORK_MEMPOOL_SIZE / 8) Thanks, Fengguang -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org