[PATCH]remove rcu_lock/unlock around lockless radix_tree_tagged()
sudip midya <[email protected]> Wed, 21 Sep 2016 21:19:51 +0530
| Newsgroups | gmane.comp.file-systems.xfs.general |
|---|---|
| Message-ID | <CADccLx9oHDQLDifPAu+tB7pD6OmHu6Mgt7qtMSNtqrgPRNCVGQ@mail.gmail.com> |
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Signed-off-by: Sudip Midya <[email protected]>
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
radix_tree_tagged.patch
(text/x-patch, 779 B)
commit 0e0ac9d9811add9d3a4892888c50f99f3ff80dd6 Author: Sudip Midya <[email protected]> Date: Wed Sep 21 21:05:42 2016 +0530 mm: remove unnecessary rcu_lock/unlock around radix_tree_tagged. The function queue_delayed_work is already protected with interrupts disabled, no need to add the rcu_lock diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index fb39a66..887c868 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -153,12 +153,10 @@ xfs_reclaim_work_queue( struct xfs_mount *mp) { - rcu_read_lock(); if (radix_tree_tagged(&mp->m_perag_tree, XFS_ICI_RECLAIM_TAG)) { queue_delayed_work(mp->m_reclaim_workqueue, &mp->m_reclaim_work, msecs_to_jiffies(xfs_syncd_centisecs / 6 * 10)); } - rcu_read_unlock(); } /*