<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/gfs2/log.c, branch linux-3.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-01-08T21:10:57Z</updated>
<entry>
<title>Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2012-01-08T21:10:57Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-01-08T21:10:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eb59c505f8a5906ad2e053d14fab50eb8574fd6f'/>
<id>urn:sha1:eb59c505f8a5906ad2e053d14fab50eb8574fd6f</id>
<content type='text'>
* 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
  PM / Hibernate: Implement compat_ioctl for /dev/snapshot
  PM / Freezer: fix return value of freezable_schedule_timeout_killable()
  PM / shmobile: Allow the A4R domain to be turned off at run time
  PM / input / touchscreen: Make st1232 use device PM QoS constraints
  PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
  PM / shmobile: Remove the stay_on flag from SH7372's PM domains
  PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
  PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
  PM: Drop generic_subsys_pm_ops
  PM / Sleep: Remove forward-only callbacks from AMBA bus type
  PM / Sleep: Remove forward-only callbacks from platform bus type
  PM: Run the driver callback directly if the subsystem one is not there
  PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
  PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
  PM / Sleep: Merge internal functions in generic_ops.c
  PM / Sleep: Simplify generic system suspend callbacks
  PM / Hibernate: Remove deprecated hibernation snapshot ioctls
  PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
  ARM: S3C64XX: Implement basic power domain support
  PM / shmobile: Use common always on power domain governor
  ...

Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
XBT_FORCE_SLEEP bit
</content>
</entry>
<entry>
<title>freezer: unexport refrigerator() and update try_to_freeze() slightly</title>
<updated>2011-11-21T20:32:22Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2011-11-21T20:32:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0acae0e886d44bd5ce6d2f173c1ace0fcf0d9f6'/>
<id>urn:sha1:a0acae0e886d44bd5ce6d2f173c1ace0fcf0d9f6</id>
<content type='text'>
There is no reason to export two functions for entering the
refrigerator.  Calling refrigerator() instead of try_to_freeze()
doesn't save anything noticeable or removes any race condition.

* Rename refrigerator() to __refrigerator() and make it return bool
  indicating whether it scheduled out for freezing.

* Update try_to_freeze() to return bool and relay the return value of
  __refrigerator() if freezing().

* Convert all refrigerator() users to try_to_freeze().

* Update documentation accordingly.

* While at it, add might_sleep() to try_to_freeze().

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Samuel Ortiz &lt;samuel@sortiz.org&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Cc: KONISHI Ryusuke &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
</content>
</entry>
<entry>
<title>GFS2: Fix up REQ flags</title>
<updated>2011-11-08T09:51:53Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-10-31T09:52:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=20ed0535d35b74c9e4fa5777766d6e836fe3c90c'/>
<id>urn:sha1:20ed0535d35b74c9e4fa5777766d6e836fe3c90c</id>
<content type='text'>
Christoph has split up REQ_PRIO from REQ_META. That means that
we can drop REQ_PRIO from places where is it not needed. I'm
not at all sure that the combination WRITE_FLUSH_FUA | REQ_PRIO
makes any kind of sense, anyway.

In addition, I've added REQ_META to one place in the code where
it was missing. REQ_PRIO has been left for read/writes triggered
by glock acquisition and writeback only. We can adjust it again
if required, but these are the most important points from a
performance perspective.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
</content>
</entry>
<entry>
<title>block: separate priority boosting from REQ_META</title>
<updated>2011-08-23T12:50:29Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2011-08-23T12:50:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65299a3b788bd274bed92f9fa3232082c9f3ea70'/>
<id>urn:sha1:65299a3b788bd274bed92f9fa3232082c9f3ea70</id>
<content type='text'>
Add a new REQ_PRIO to let requests preempt others in the cfq I/O schedule,
and lave REQ_META purely for marking requests as metadata in blktrace.

All existing callers of REQ_META except for XFS are updated to also
set REQ_PRIO for now.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Namhyung Kim &lt;namhyung@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Resolve inode eviction and ail list interaction bug</title>
<updated>2011-07-14T07:59:44Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-07-14T07:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=380f7c65a7eb3288e4b6812acf3474a1de230707'/>
<id>urn:sha1:380f7c65a7eb3288e4b6812acf3474a1de230707</id>
<content type='text'>
This patch contains a few misc fixes which resolve a recently
reported issue. This patch has been a real team effort and has
received a lot of testing.

The first issue is that the ail lock needs to be held over a few
more operations. The lock thats added into gfs2_releasepage() may
possibly be a candidate for replacing with RCU at some future
point, but at this stage we've gone for the obvious fix.

The second issue is that gfs2_write_inode() can end up calling
a glock recursively when called from gfs2_evict_inode() via the
syncing code, so it needs a guard added.

The third issue is that we either need to not truncate the metadata
pages of inodes which have zero link count, but which we cannot
deallocate due to them still being in use by other nodes, or we need
to ensure that those pages have all made it through the journal and
ail lists first. This patch takes the former approach, but the
latter has also been tested and there is nothing to choose between
them performance-wise. So again, we could revise that decision
in the future.

Also, the inode eviction process is now better documented.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Tested-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Tested-by: Abhijith Das &lt;adas@redhat.com&gt;
Reported-by: Barry J. Marson &lt;bmarson@redhat.com&gt;
Reported-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Wait properly when flushing the ail list</title>
<updated>2011-05-21T18:21:07Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-05-21T18:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26b06a6958df0f12f1a654db8598433eb89cc024'/>
<id>urn:sha1:26b06a6958df0f12f1a654db8598433eb89cc024</id>
<content type='text'>
The ail flush code has always relied upon log flushing to prevent
it from spinning needlessly. This fixes it to wait on the last
I/O request submitted (we don't need to wait for all of it)
instead of either spinning with io_schedule or sleeping.

As a result cpu usage of gfs2_logd is much reduced with certain
workloads.

Reported-by: Abhijith Das &lt;adas@redhat.com&gt;
Tested-by: Abhijith Das &lt;adas@redhat.com&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Fix ail list traversal</title>
<updated>2011-05-03T10:48:07Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-04-26T09:23:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f1de018215fb56940ce5793e11becd1e8cd6e44'/>
<id>urn:sha1:4f1de018215fb56940ce5793e11becd1e8cd6e44</id>
<content type='text'>
In the recent patches to update the AIL list code, I managed to
forget that the ail list lock got dropped, even though I
added a comment specifically to remind myself :(

Reported-by: Barry Marson &lt;bmarson@redhat.com&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Add an AIL writeback tracepoint</title>
<updated>2011-04-20T08:01:58Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-04-18T13:18:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c83ae9cad8776bab153a05cc466be39f14011091'/>
<id>urn:sha1:c83ae9cad8776bab153a05cc466be39f14011091</id>
<content type='text'>
Add a tracepoint for monitoring writeback of the AIL.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Make writeback more responsive to system conditions</title>
<updated>2011-04-20T08:01:37Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-04-18T13:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4667a0ec32867865fd4deccf834594b3ea831baf'/>
<id>urn:sha1:4667a0ec32867865fd4deccf834594b3ea831baf</id>
<content type='text'>
This patch adds writeback_control to writing back the AIL
list. This means that we can then take advantage of the
information we get in -&gt;write_inode() in order to set off
some pre-emptive writeback.

In addition, the AIL code is cleaned up a bit to make it
a bit simpler to understand.

There is still more which can usefully be done in this area,
but this is a good start at least.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Use filemap_fdatawrite() to write back the AIL</title>
<updated>2011-04-20T07:59:25Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2011-03-30T15:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ac048bb7ea6e87b06504b999017cfa1f38f4092'/>
<id>urn:sha1:5ac048bb7ea6e87b06504b999017cfa1f38f4092</id>
<content type='text'>
In order to ensure that the mapping stats (and thus the bdi) are correctly
updated, this patch changes the AIL writeback to use the filemap_datawrite
function. This helps prevent stalls in balance_dirty_pages() due to
large amounts of dirty metadata when there is little or no dirty data
around.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
</content>
</entry>
</feed>
