mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
hugetlb: allow bulk updating in hugetlb_*_quota()
Add a second parameter 'delta' to hugetlb_get_quota and hugetlb_put_quota to allow bulk updating of the sbinfo->free_blocks counter. This will be used by the next patch in the series. Signed-off-by: Adam Litke <[email protected]> Cc: Ken Chen <[email protected]> Cc: Andy Whitcroft <[email protected]> Cc: Dave Hansen <[email protected]> Cc: David Gibson <[email protected]> Cc: William Lee Irwin III <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
2fc39cec6a
commit
9a119c056d
3 changed files with 9 additions and 9 deletions
|
|
@ -858,15 +858,15 @@ out_free:
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
int hugetlb_get_quota(struct address_space *mapping)
|
||||
int hugetlb_get_quota(struct address_space *mapping, long delta)
|
||||
{
|
||||
int ret = 0;
|
||||
struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb);
|
||||
|
||||
if (sbinfo->free_blocks > -1) {
|
||||
spin_lock(&sbinfo->stat_lock);
|
||||
if (sbinfo->free_blocks > 0)
|
||||
sbinfo->free_blocks--;
|
||||
if (sbinfo->free_blocks - delta >= 0)
|
||||
sbinfo->free_blocks -= delta;
|
||||
else
|
||||
ret = -ENOMEM;
|
||||
spin_unlock(&sbinfo->stat_lock);
|
||||
|
|
@ -875,13 +875,13 @@ int hugetlb_get_quota(struct address_space *mapping)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void hugetlb_put_quota(struct address_space *mapping)
|
||||
void hugetlb_put_quota(struct address_space *mapping, long delta)
|
||||
{
|
||||
struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb);
|
||||
|
||||
if (sbinfo->free_blocks > -1) {
|
||||
spin_lock(&sbinfo->stat_lock);
|
||||
sbinfo->free_blocks++;
|
||||
sbinfo->free_blocks += delta;
|
||||
spin_unlock(&sbinfo->stat_lock);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue