diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 21:54:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 21:54:28 -0500 |
commit | 818099574b04c5301eacbbcd441022b353a65466 (patch) | |
tree | 77b3645b375105cb0389df2b4ea5ffa90329f7f8 /fs/xfs | |
parent | 802ea9d8645d33d24b7b4cd4537c14f3e698bde0 (diff) | |
parent | 6016daed58ee482a2f7684e93342e89139cf4419 (diff) |
Merge branch 'akpm' (patches from Andrew)
Merge third set of updates from Andrew Morton:
- the rest of MM
[ This includes getting rid of the numa hinting bits, in favor of
just generic protnone logic. Yay. - Linus ]
- core kernel
- procfs
- some of lib/ (lots of lib/ material this time)
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (104 commits)
lib/lcm.c: replace include
lib/percpu_ida.c: remove redundant includes
lib/strncpy_from_user.c: replace module.h include
lib/stmp_device.c: replace module.h include
lib/sort.c: move include inside #if 0
lib/show_mem.c: remove redundant include
lib/radix-tree.c: change to simpler include
lib/plist.c: remove redundant include
lib/nlattr.c: remove redundant include
lib/kobject_uevent.c: remove redundant include
lib/llist.c: remove redundant include
lib/md5.c: simplify include
lib/list_sort.c: rearrange includes
lib/genalloc.c: remove redundant include
lib/idr.c: remove redundant include
lib/halfmd4.c: simplify includes
lib/dynamic_queue_limits.c: simplify includes
lib/sort.c: use simpler includes
lib/interval_tree.c: simplify includes
hexdump: make it return number of bytes placed in buffer
...
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_buf.c | 13 | ||||
-rw-r--r-- | fs/xfs/xfs_qm.c | 12 | ||||
-rw-r--r-- | fs/xfs/xfs_super.c | 7 |
3 files changed, 16 insertions, 16 deletions
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index bb502a391792..1790b00bea7a 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c | |||
@@ -1488,6 +1488,7 @@ xfs_buf_iomove( | |||
1488 | static enum lru_status | 1488 | static enum lru_status |
1489 | xfs_buftarg_wait_rele( | 1489 | xfs_buftarg_wait_rele( |
1490 | struct list_head *item, | 1490 | struct list_head *item, |
1491 | struct list_lru_one *lru, | ||
1491 | spinlock_t *lru_lock, | 1492 | spinlock_t *lru_lock, |
1492 | void *arg) | 1493 | void *arg) |
1493 | 1494 | ||
@@ -1509,7 +1510,7 @@ xfs_buftarg_wait_rele( | |||
1509 | */ | 1510 | */ |
1510 | atomic_set(&bp->b_lru_ref, 0); | 1511 | atomic_set(&bp->b_lru_ref, 0); |
1511 | bp->b_state |= XFS_BSTATE_DISPOSE; | 1512 | bp->b_state |= XFS_BSTATE_DISPOSE; |
1512 | list_move(item, dispose); | 1513 | list_lru_isolate_move(lru, item, dispose); |
1513 | spin_unlock(&bp->b_lock); | 1514 | spin_unlock(&bp->b_lock); |
1514 | return LRU_REMOVED; | 1515 | return LRU_REMOVED; |
1515 | } | 1516 | } |
@@ -1546,6 +1547,7 @@ xfs_wait_buftarg( | |||
1546 | static enum lru_status | 1547 | static enum lru_status |
1547 | xfs_buftarg_isolate( | 1548 | xfs_buftarg_isolate( |
1548 | struct list_head *item, | 1549 | struct list_head *item, |
1550 | struct list_lru_one *lru, | ||
1549 | spinlock_t *lru_lock, | 1551 | spinlock_t *lru_lock, |
1550 | void *arg) | 1552 | void *arg) |
1551 | { | 1553 | { |
@@ -1569,7 +1571,7 @@ xfs_buftarg_isolate( | |||
1569 | } | 1571 | } |
1570 | 1572 | ||
1571 | bp->b_state |= XFS_BSTATE_DISPOSE; | 1573 | bp->b_state |= XFS_BSTATE_DISPOSE; |
1572 | list_move(item, dispose); | 1574 | list_lru_isolate_move(lru, item, dispose); |
1573 | spin_unlock(&bp->b_lock); | 1575 | spin_unlock(&bp->b_lock); |
1574 | return LRU_REMOVED; | 1576 | return LRU_REMOVED; |
1575 | } | 1577 | } |
@@ -1583,10 +1585,9 @@ xfs_buftarg_shrink_scan( | |||
1583 | struct xfs_buftarg, bt_shrinker); | 1585 | struct xfs_buftarg, bt_shrinker); |
1584 | LIST_HEAD(dispose); | 1586 | LIST_HEAD(dispose); |
1585 | unsigned long freed; | 1587 | unsigned long freed; |
1586 | unsigned long nr_to_scan = sc->nr_to_scan; | ||
1587 | 1588 | ||
1588 | freed = list_lru_walk_node(&btp->bt_lru, sc->nid, xfs_buftarg_isolate, | 1589 | freed = list_lru_shrink_walk(&btp->bt_lru, sc, |
1589 | &dispose, &nr_to_scan); | 1590 | xfs_buftarg_isolate, &dispose); |
1590 | 1591 | ||
1591 | while (!list_empty(&dispose)) { | 1592 | while (!list_empty(&dispose)) { |
1592 | struct xfs_buf *bp; | 1593 | struct xfs_buf *bp; |
@@ -1605,7 +1606,7 @@ xfs_buftarg_shrink_count( | |||
1605 | { | 1606 | { |
1606 | struct xfs_buftarg *btp = container_of(shrink, | 1607 | struct xfs_buftarg *btp = container_of(shrink, |
1607 | struct xfs_buftarg, bt_shrinker); | 1608 | struct xfs_buftarg, bt_shrinker); |
1608 | return list_lru_count_node(&btp->bt_lru, sc->nid); | 1609 | return list_lru_shrink_count(&btp->bt_lru, sc); |
1609 | } | 1610 | } |
1610 | 1611 | ||
1611 | void | 1612 | void |
diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index 3e8186279541..53cc2aaf8d2b 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c | |||
@@ -430,6 +430,7 @@ struct xfs_qm_isolate { | |||
430 | static enum lru_status | 430 | static enum lru_status |
431 | xfs_qm_dquot_isolate( | 431 | xfs_qm_dquot_isolate( |
432 | struct list_head *item, | 432 | struct list_head *item, |
433 | struct list_lru_one *lru, | ||
433 | spinlock_t *lru_lock, | 434 | spinlock_t *lru_lock, |
434 | void *arg) | 435 | void *arg) |
435 | __releases(lru_lock) __acquires(lru_lock) | 436 | __releases(lru_lock) __acquires(lru_lock) |
@@ -450,7 +451,7 @@ xfs_qm_dquot_isolate( | |||
450 | XFS_STATS_INC(xs_qm_dqwants); | 451 | XFS_STATS_INC(xs_qm_dqwants); |
451 | 452 | ||
452 | trace_xfs_dqreclaim_want(dqp); | 453 | trace_xfs_dqreclaim_want(dqp); |
453 | list_del_init(&dqp->q_lru); | 454 | list_lru_isolate(lru, &dqp->q_lru); |
454 | XFS_STATS_DEC(xs_qm_dquot_unused); | 455 | XFS_STATS_DEC(xs_qm_dquot_unused); |
455 | return LRU_REMOVED; | 456 | return LRU_REMOVED; |
456 | } | 457 | } |
@@ -494,7 +495,7 @@ xfs_qm_dquot_isolate( | |||
494 | xfs_dqunlock(dqp); | 495 | xfs_dqunlock(dqp); |
495 | 496 | ||
496 | ASSERT(dqp->q_nrefs == 0); | 497 | ASSERT(dqp->q_nrefs == 0); |
497 | list_move_tail(&dqp->q_lru, &isol->dispose); | 498 | list_lru_isolate_move(lru, &dqp->q_lru, &isol->dispose); |
498 | XFS_STATS_DEC(xs_qm_dquot_unused); | 499 | XFS_STATS_DEC(xs_qm_dquot_unused); |
499 | trace_xfs_dqreclaim_done(dqp); | 500 | trace_xfs_dqreclaim_done(dqp); |
500 | XFS_STATS_INC(xs_qm_dqreclaims); | 501 | XFS_STATS_INC(xs_qm_dqreclaims); |
@@ -523,7 +524,6 @@ xfs_qm_shrink_scan( | |||
523 | struct xfs_qm_isolate isol; | 524 | struct xfs_qm_isolate isol; |
524 | unsigned long freed; | 525 | unsigned long freed; |
525 | int error; | 526 | int error; |
526 | unsigned long nr_to_scan = sc->nr_to_scan; | ||
527 | 527 | ||
528 | if ((sc->gfp_mask & (__GFP_FS|__GFP_WAIT)) != (__GFP_FS|__GFP_WAIT)) | 528 | if ((sc->gfp_mask & (__GFP_FS|__GFP_WAIT)) != (__GFP_FS|__GFP_WAIT)) |
529 | return 0; | 529 | return 0; |
@@ -531,8 +531,8 @@ xfs_qm_shrink_scan( | |||
531 | INIT_LIST_HEAD(&isol.buffers); | 531 | INIT_LIST_HEAD(&isol.buffers); |
532 | INIT_LIST_HEAD(&isol.dispose); | 532 | INIT_LIST_HEAD(&isol.dispose); |
533 | 533 | ||
534 | freed = list_lru_walk_node(&qi->qi_lru, sc->nid, xfs_qm_dquot_isolate, &isol, | 534 | freed = list_lru_shrink_walk(&qi->qi_lru, sc, |
535 | &nr_to_scan); | 535 | xfs_qm_dquot_isolate, &isol); |
536 | 536 | ||
537 | error = xfs_buf_delwri_submit(&isol.buffers); | 537 | error = xfs_buf_delwri_submit(&isol.buffers); |
538 | if (error) | 538 | if (error) |
@@ -557,7 +557,7 @@ xfs_qm_shrink_count( | |||
557 | struct xfs_quotainfo *qi = container_of(shrink, | 557 | struct xfs_quotainfo *qi = container_of(shrink, |
558 | struct xfs_quotainfo, qi_shrinker); | 558 | struct xfs_quotainfo, qi_shrinker); |
559 | 559 | ||
560 | return list_lru_count_node(&qi->qi_lru, sc->nid); | 560 | return list_lru_shrink_count(&qi->qi_lru, sc); |
561 | } | 561 | } |
562 | 562 | ||
563 | /* | 563 | /* |
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index f2449fd86926..8fcc4ccc5c79 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c | |||
@@ -1537,7 +1537,7 @@ xfs_fs_mount( | |||
1537 | static long | 1537 | static long |
1538 | xfs_fs_nr_cached_objects( | 1538 | xfs_fs_nr_cached_objects( |
1539 | struct super_block *sb, | 1539 | struct super_block *sb, |
1540 | int nid) | 1540 | struct shrink_control *sc) |
1541 | { | 1541 | { |
1542 | return xfs_reclaim_inodes_count(XFS_M(sb)); | 1542 | return xfs_reclaim_inodes_count(XFS_M(sb)); |
1543 | } | 1543 | } |
@@ -1545,10 +1545,9 @@ xfs_fs_nr_cached_objects( | |||
1545 | static long | 1545 | static long |
1546 | xfs_fs_free_cached_objects( | 1546 | xfs_fs_free_cached_objects( |
1547 | struct super_block *sb, | 1547 | struct super_block *sb, |
1548 | long nr_to_scan, | 1548 | struct shrink_control *sc) |
1549 | int nid) | ||
1550 | { | 1549 | { |
1551 | return xfs_reclaim_inodes_nr(XFS_M(sb), nr_to_scan); | 1550 | return xfs_reclaim_inodes_nr(XFS_M(sb), sc->nr_to_scan); |
1552 | } | 1551 | } |
1553 | 1552 | ||
1554 | static const struct super_operations xfs_super_operations = { | 1553 | static const struct super_operations xfs_super_operations = { |