Commit 4b90de5
xfs: reduce context switches for synchronous buffered I/O
Currently all metadata I/O completions happen in the m_buf_workqueue
workqueue. But for synchronous I/O (i.e. all buffer reads) there is no
need for that, as there always is a called in process context that is
waiting for the I/O. Factor out the guts of xfs_buf_ioend into a
separate helper and call it from xfs_buf_iowait to avoid a double
an extra context switch to the workqueue.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>1 parent 2d873ef commit 4b90de5
1 file changed
+27
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1345 | 1345 | | |
1346 | 1346 | | |
1347 | 1347 | | |
| 1348 | + | |
1348 | 1349 | | |
1349 | 1350 | | |
1350 | 1351 | | |
| |||
1355 | 1356 | | |
1356 | 1357 | | |
1357 | 1358 | | |
1358 | | - | |
1359 | | - | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
1360 | 1362 | | |
1361 | 1363 | | |
1362 | 1364 | | |
| |||
1376 | 1378 | | |
1377 | 1379 | | |
1378 | 1380 | | |
1379 | | - | |
| 1381 | + | |
1380 | 1382 | | |
1381 | 1383 | | |
1382 | 1384 | | |
| |||
1397 | 1399 | | |
1398 | 1400 | | |
1399 | 1401 | | |
| 1402 | + | |
| 1403 | + | |
1400 | 1404 | | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
1401 | 1411 | | |
1402 | 1412 | | |
1403 | 1413 | | |
| |||
1411 | 1421 | | |
1412 | 1422 | | |
1413 | 1423 | | |
1414 | | - | |
1415 | | - | |
1416 | | - | |
1417 | | - | |
1418 | | - | |
1419 | | - | |
1420 | | - | |
1421 | | - | |
1422 | | - | |
| 1424 | + | |
| 1425 | + | |
1423 | 1426 | | |
1424 | 1427 | | |
1425 | 1428 | | |
| |||
1491 | 1494 | | |
1492 | 1495 | | |
1493 | 1496 | | |
1494 | | - | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
1495 | 1504 | | |
1496 | 1505 | | |
1497 | 1506 | | |
| |||
1568 | 1577 | | |
1569 | 1578 | | |
1570 | 1579 | | |
1571 | | - | |
1572 | | - | |
1573 | | - | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
1574 | 1585 | | |
1575 | 1586 | | |
1576 | 1587 | | |
| |||
0 commit comments