Re: vfs: inode lock breakup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 22, 2011 at 12:23 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> Hi Al,
>
> The following patches are the inode_lock breakup series originally
> derived from Nick Piggin's vfs-scale tree. I've kind of been sitting
> on them until the dcache_lock breakup and rcu path-walk has had some
> time to be shaken out. The patch Ñet is pretty much unchanged from
> the last round of review last last year - all I've done to bring it
> up to date is forward port it and run it through some testing on XFS
> and ext4.
>
> I know it's late in the .39 merge window, but I hope you'll consider
> it if the patches are still acceptable(*). Otherwise I'm happy to take
> the time to get it right for .40.
>
> Cheers,
>
> Dave.
>
> (*) The series can also be found here:
>
> Âgit://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev.git inode-scale
>
> Dave Chinner (8):
> Â Â Âfs: protect inode->i_state with inode->i_lock
> Â Â Âfs: factor inode disposal
> Â Â Âfs: Lock the inode LRU list separately
> Â Â Âfs: remove inode_lock from iput_final and prune_icache
> Â Â Âfs: move i_sb_list out from under inode_lock
> Â Â Âfs: move i_wb_list out from under inode_lock
> Â Â Âfs: rename inode_lock to inode_hash_lock
> Â Â Âfs: pull inode->i_lock up out of writeback_single_inode
>
[...]

Hi,

I have tested this patch-series on top of linux-next (next-20110322)
by running xfstests-dev (built from git).

My sdb2 partition (on an external 1GBytes USB-2.0 hdd) was formatted
and mounted as ext4-fs .

The check-log is attached (not sure how to interpret the errors and failures).

Regards,
- Sedat -

P.S.: Note to myself (Host: Debian/sid i386)

[ BUILD ]

$ apt-get install uuid-dev xfslibs-dev libacl1-dev libdm0-dev libgdbm-dev

[ TESTS ]

$ apt-get install xfsdump

DEVNODE="sdb2"
FSTYPE="ext4"

$ mkfs.$FSTYPE /dev/$DEVNODE
$ mkdir -p /mnt/$DEVNODE
$ mount -t $FSTYPE /dev/$DEVNODE /mnt/$DEVNODE

$ TEST_DIR=/mnt/$DEVNODE TEST_DEV=/dev/$DEVNODE ./check 2>&1 | tee
../check_${DEVNODE}-${FSTYPE}.txt


-SD // 22-Mar-2011
FSTYP         -- ext4
PLATFORM      -- Linux/i686 tbox 2.6.38-next20110322-2-686-iniza

001 5s ... 4s
002 1s ... 1s
003	 [not run] not suitable for this filesystem type: ext4
004	 [not run] not suitable for this filesystem type: ext4
005	 - output mismatch (see 005.out.bad)
--- 005.out	2011-03-22 17:47:03.861226933 +0100
+++ 005.out.bad	2011-03-22 18:47:58.847277538 +0100
@@ -1,7 +1,7 @@
 QA output created by 005
 *** touch deep symlinks
 
-ELOOP returned.  Good.
+No ELOOP?  Unexpected!
 
 *** touch recusive symlinks
 
006 0s ... 1s
007 1s ... 1s
008	 [not run] not suitable for this filesystem type: ext4
009	 [not run] not suitable for this filesystem type: ext4
010 0s ... 1s
011 1s ... 2s
012	 [not run] not suitable for this filesystem type: ext4
013 42s ... 39s
014 0s ... 0s
015	 [not run] not suitable for this filesystem type: ext4
016	 [not run] not suitable for this filesystem type: ext4
017	 [not run] not suitable for this filesystem type: ext4
018	 [not run] not suitable for this filesystem type: ext4
019	 [not run] not suitable for this filesystem type: ext4
020	 [not run] not suitable for this filesystem type: ext4
021	 [not run] not suitable for this filesystem type: ext4
022	 [not run] not suitable for this filesystem type: ext4
023	 [not run] not suitable for this filesystem type: ext4
024	 [not run] not suitable for this filesystem type: ext4
025	 [not run] not suitable for this filesystem type: ext4
026	 [not run] not suitable for this filesystem type: ext4
027	 [not run] not suitable for this filesystem type: ext4
028	 [not run] not suitable for this filesystem type: ext4
029	 [not run] not suitable for this filesystem type: ext4
030	 [not run] not suitable for this filesystem type: ext4
031	 [not run] not suitable for this filesystem type: ext4
032	 [not run] not suitable for this filesystem type: ext4
033	 [not run] not suitable for this filesystem type: ext4
034	 [not run] not suitable for this filesystem type: ext4
035	 [not run] not suitable for this filesystem type: ext4
036	 [not run] not suitable for this filesystem type: ext4
037	 [not run] not suitable for this filesystem type: ext4
038	 [not run] not suitable for this filesystem type: ext4
039	 [not run] not suitable for this filesystem type: ext4
040	 [not run] Can't run srcdiff without KWORKAREA set
041	 [not run] not suitable for this filesystem type: ext4
042	 [not run] not suitable for this filesystem type: ext4
043	 [not run] not suitable for this filesystem type: ext4
044	 [not run] not suitable for this filesystem type: ext4
045	 [not run] not suitable for this filesystem type: ext4
046	 [not run] not suitable for this filesystem type: ext4
047	 [not run] not suitable for this filesystem type: ext4
048	 [not run] not suitable for this filesystem type: ext4
049	 [not run] not suitable for this filesystem type: ext4
050	 [not run] not suitable for this filesystem type: ext4
051	 [not run] not suitable for this filesystem type: ext4
052	 [not run] not suitable for this filesystem type: ext4
053	 [not run] this test requires a valid $SCRATCH_DEV
054	 [not run] not suitable for this filesystem type: ext4
055	 [not run] not suitable for this filesystem type: ext4
056	 [not run] not suitable for this filesystem type: ext4
057	 [not run] Place holder for IRIX test 057
058	 [not run] Place holder for IRIX test 058
059	 [not run] Place holder for IRIX test 059
060	 [not run] Place holder for IRIX test 060
061	 [not run] not suitable for this filesystem type: ext4
062	 [not run] not suitable for this filesystem type: ext4
063	 [not run] not suitable for this filesystem type: ext4
064	 [not run] not suitable for this filesystem type: ext4
065	 [not run] not suitable for this filesystem type: ext4
066	 [not run] not suitable for this filesystem type: ext4
067	 [not run] not suitable for this filesystem type: ext4
068	 [not run] not suitable for this filesystem type: ext4
069	 [not run] this test requires a valid $SCRATCH_DEV
070 7s ... 6s
071	 [not run] not suitable for this filesystem type: ext4
072	 [not run] not suitable for this filesystem type: ext4
073	 [not run] not suitable for this filesystem type: ext4
074 465s ... 459s
075 20s ... 18s
076	 [not run] this test requires a valid $SCRATCH_DEV
077	 [not run] fsgqa user not defined.
078	 [not run] not suitable for this filesystem type: ext4
079	 [not run] not suitable for this filesystem type: ext4
080	 [not run] not suitable for this filesystem type: ext4
081	 [not run] not suitable for this filesystem type: ext4
082	 [not run] not suitable for this filesystem type: ext4
083	 [not run] not suitable for this filesystem type: ext4
084	 [not run] not suitable for this filesystem type: ext4
085	 [not run] not suitable for this filesystem type: ext4
086	 [not run] not suitable for this filesystem type: ext4
087	 [not run] not suitable for this filesystem type: ext4
088 1s ... 0s
089 20s ... 19s
090	 [not run] not suitable for this filesystem type: ext4
091	 [not run] not suitable for this filesystem type: ext4
092	 [not run] not suitable for this filesystem type: ext4
093	 [not run] not suitable for this OS: Linux
094	 [not run] not suitable for this filesystem type: ext4
095	 [not run] not suitable for this filesystem type: ext4
096	 [not run] not suitable for this filesystem type: ext4
097	 [not run] not suitable for this OS: Linux
098	 [not run] not suitable for this filesystem type: ext4
099	 [not run] not suitable for this OS: Linux
100	 [not run] this test requires a valid $SCRATCH_DEV
101	 [not run] not suitable for this filesystem type: ext4
102	 [not run] not suitable for this filesystem type: ext4
103	 [not run] not suitable for this filesystem type: ext4
104	 [not run] not suitable for this filesystem type: ext4
105	 [not run] this test requires a valid $SCRATCH_DEV
106	 [not run] not suitable for this filesystem type: ext4
107	 [not run] not suitable for this filesystem type: ext4
108	 [not run] not suitable for this filesystem type: ext4
109	 [not run] not suitable for this filesystem type: ext4
110	 [not run] not suitable for this filesystem type: ext4
111	 [not run] not suitable for this filesystem type: ext4
112	 [not run] fsx not built with AIO for this platform
113	 [not run] aio-stress not built for this platform
114	 [not run] not suitable for this filesystem type: ext4
115	 [not run] not suitable for this filesystem type: ext4
116	 [not run] not suitable for this filesystem type: ext4
117	 [not run] not suitable for this filesystem type: ext4
118	 [not run] not suitable for this filesystem type: ext4
119	 [not run] not suitable for this filesystem type: ext4
120	 [not run] not suitable for this filesystem type: ext4
121	 [not run] not suitable for this filesystem type: ext4
122	 [not run] not suitable for this filesystem type: ext4
123	 [not run] fsgqa user not defined.
124	 [not run] this test requires a valid $SCRATCH_DEV
125	 [not run] fsgqa user not defined.
126 1s ... 1s
127 96s ... 95s
128	 [not run] this test requires a valid $SCRATCH_DEV
129	 [not run] this test requires a valid $SCRATCH_DEV
130	 [not run] this test requires a valid $SCRATCH_DEV
131 1s ... 1s
132	 [not run] this test requires a valid $SCRATCH_DEV
133 238s ... 239s
134	 [not run] not suitable for this filesystem type: ext4
135	 [not run] this test requires a valid $SCRATCH_DEV
136	 [not run] not suitable for this filesystem type: ext4
137	 [not run] not suitable for this filesystem type: ext4
138	 [not run] not suitable for this filesystem type: ext4
139	 [not run] not suitable for this filesystem type: ext4
140	 [not run] not suitable for this filesystem type: ext4
141	 [not run] this test requires a valid $SCRATCH_DEV
142	 [not run] not suitable for this filesystem type: ext4
143	 [not run] not suitable for this filesystem type: ext4
144	 [not run] not suitable for this filesystem type: ext4
145	 [not run] not suitable for this filesystem type: ext4
146	 [not run] not suitable for this filesystem type: ext4
147	 [not run] not suitable for this filesystem type: ext4
148	 [not run] parallel repair binary xfs_prepair64 is not installed
149	 [not run] parallel repair binary xfs_prepair is not installed
150	 [not run] not suitable for this filesystem type: ext4
151	 [not run] not suitable for this filesystem type: ext4
152	 [not run] not suitable for this filesystem type: ext4
153	 [not run] not suitable for this filesystem type: ext4
154	 [not run] not suitable for this filesystem type: ext4
155	 [not run] not suitable for this filesystem type: ext4
156	 [not run] not suitable for this filesystem type: ext4
157	 [not run] not suitable for this filesystem type: ext4
158	 [not run] not suitable for this filesystem type: ext4
159	 [not run] not suitable for this filesystem type: ext4
160	 [not run] not suitable for this filesystem type: ext4
161	 [not run] not suitable for this filesystem type: ext4
162	 [not run] not suitable for this filesystem type: ext4
163	 [not run] not suitable for this filesystem type: ext4
164	 [not run] not suitable for this filesystem type: ext4
165	 [not run] not suitable for this filesystem type: ext4
166	 [not run] not suitable for this filesystem type: ext4
167	 [not run] not suitable for this filesystem type: ext4
168	 [not run] not suitable for this filesystem type: ext4
169	 [not run] this test requires a valid $SCRATCH_DEV
170	 [not run] not suitable for this filesystem type: ext4
171	 [not run] not suitable for this filesystem type: ext4
172	 [not run] not suitable for this filesystem type: ext4
173	 [not run] not suitable for this filesystem type: ext4
174	 [not run] not suitable for this filesystem type: ext4
175	 [not run] not suitable for this filesystem type: ext4
176	 [not run] not suitable for this filesystem type: ext4
177	 [not run] not suitable for this filesystem type: ext4
178	 [not run] not suitable for this filesystem type: ext4
179	 [not run] not suitable for this filesystem type: ext4
180	 [not run] not suitable for this filesystem type: ext4
181	 [not run] not suitable for this filesystem type: ext4
182	 [not run] not suitable for this filesystem type: ext4
183	 [not run] not suitable for this filesystem type: ext4
184 1s ... 0s
185	 [not run] not suitable for this filesystem type: ext4
186	 [not run] not suitable for this filesystem type: ext4
187	 [not run] not suitable for this filesystem type: ext4
188	 [not run] not suitable for this filesystem type: ext4
189	 [not run] not suitable for this filesystem type: ext4
190	 [not run] not suitable for this filesystem type: ext4
191	 [not run] not suitable for this filesystem type: ext4
192	 [not run] not suitable for this filesystem type: ext4
193	 [not run] fsgqa user not defined.
194	 [not run] not suitable for this filesystem type: ext4
195	 [not run] not suitable for this filesystem type: ext4
196	 [not run] not suitable for this filesystem type: ext4
197	 [not run] not suitable for this filesystem type: ext4
198	 [failed, exit status 127] - output mismatch (see 198.out.bad)
--- 198.out	2011-03-22 17:47:03.917226229 +0100
+++ 198.out.bad	2011-03-22 19:04:12.591035920 +0100
@@ -1,2 +1,3 @@
 QA output created by 198
 Silence is golden.
+./198: line 54: /home/sd/src/xfstests-dev/xfstests-dev/src/aio-dio-regress/aiodio_sparse2: No such file or directory
199	 [not run] not suitable for this filesystem type: ext4
200	 [not run] not suitable for this filesystem type: ext4
201	 [not run] not suitable for this filesystem type: ext4
202	 [not run] not suitable for this filesystem type: ext4
203	 [not run] not suitable for this filesystem type: ext4
204	 [not run] this test requires a valid $SCRATCH_DEV
205	 [not run] not suitable for this filesystem type: ext4
206	 [not run] not suitable for this filesystem type: ext4
207	 [not run] src/aio-dio-regress/aio-dio-extend-stat not built
208	 [not run] src/aio-dio-regress/aio-dio-invalidate-failure not built
209	 [not run] src/aio-dio-regress/aio-dio-invalidate-readahead not built
210	 [not run] src/aio-dio-regress/aio-dio-subblock-eof-read not built
211	 [not run] src/aio-dio-regress/aio-free-ring-with-bogus-nr-pages not built
212	 [not run] src/aio-dio-regress/aio-io-setup-with-nonwritable-context-pointer not built
213 2s ... 2s
214 1s ... 1s
215 2s ... 2s
216	 [not run] not suitable for this filesystem type: ext4
217	 [not run] not suitable for this filesystem type: ext4
218	 [not run] this test requires a valid $SCRATCH_DEV
219	 [not run] this test requires a valid $SCRATCH_DEV
220	 [not run] not suitable for this filesystem type: ext4
221 1s ... 1s
222	 [not run] not suitable for this filesystem type: ext4
223	 [not run] this test requires a valid $SCRATCH_DEV
224	 [not run] this test requires a valid $SCRATCH_DEV
225 11s ... 11s
226	 [not run] this test requires a valid $SCRATCH_DEV
227	 [not run] not suitable for this filesystem type: ext4
228 0s ... 1s
229	 [not run] not suitable for this filesystem type: ext4
230	 [not run] this test requires a valid $SCRATCH_DEV
231	 [not run] this test requires a valid $SCRATCH_DEV
232	 [not run] this test requires a valid $SCRATCH_DEV
233	 [not run] this test requires a valid $SCRATCH_DEV
234	 [not run] this test requires a valid $SCRATCH_DEV
235	 [not run] this test requires a valid $SCRATCH_DEV
236 2s ... 1s
237 0s ... 0s
238	 [not run] not suitable for this filesystem type: ext4
239	 [not run] src/aio-dio-regress/aio-dio-hole-filling-race not built
240	 [failed, exit status 127] - output mismatch (see 240.out.bad)
--- 240.out	2011-03-22 17:47:03.925226129 +0100
+++ 240.out.bad	2011-03-22 19:04:59.866441589 +0100
@@ -1,2 +1,3 @@
 QA output created by 240
 Silence is golden.
+./240: line 72: /home/sd/src/xfstests-dev/xfstests-dev/src/aio-dio-regress/aiodio_sparse2: No such file or directory
241	 [not run] dbench not found
242	 [not run] not suitable for this filesystem type: ext4
243 3s ... 3s
244	 [not run] not suitable for this filesystem type: ext4
245 0s ... 0s
246 0s ... 0s
247 77s ... 78s
248 0s ... 0s
249 0s ... 1s
250	 [not run] not suitable for this filesystem type: ext4
251	 [not run] this test requires a valid $SCRATCH_DEV
Ran: 001 002 005 006 007 010 011 013 014 070 074 075 088 089 126 127 131 133 184 198 213 214 215 221 225 228 236 237 240 243 245 246 247 248 249
Not run: 003 004 008 009 012 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 071 072 073 076 077 078 079 080 081 082 083 084 085 086 087 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 128 129 130 132 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 185 186 187 188 189 190 191 192 193 194 195 196 197 199 200 201 202 203 204 205 206 207 208 209 210 211 212 216 217 218 219 220 222 223 224 226 227 229 230 231 232 233 234 235 238 239 241 242 244 250 251
Failures: 005 198 240
Failed 3 of 35 tests

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux