Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 179359
b: refs/heads/master
c: 1e2ae59
h: refs/heads/master
i:
  179357: e96d60a
  179355: 813b16f
  179351: 31036dd
  179343: 88b1043
  179327: a979254
v: v3
  • Loading branch information
David Howells authored and Linus Torvalds committed Jan 16, 2010
1 parent e63f3e0 commit 8686443
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ed5e5894b234ce4793d78078c026915b853e0678
refs/heads/master: 1e2ae599d37e60958c03ca5e46b1f657619a30cd
2 changes: 1 addition & 1 deletion trunk/include/linux/mm_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ struct vm_region {
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */

atomic_t vm_usage; /* region usage count */
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
* this region */
};
Expand Down
14 changes: 7 additions & 7 deletions trunk/mm/nommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -552,11 +552,11 @@ static void free_page_series(unsigned long from, unsigned long to)
static void __put_nommu_region(struct vm_region *region)
__releases(nommu_region_sem)
{
kenter("%p{%d}", region, atomic_read(&region->vm_usage));
kenter("%p{%d}", region, region->vm_usage);

BUG_ON(!nommu_region_tree.rb_node);

if (atomic_dec_and_test(&region->vm_usage)) {
if (--region->vm_usage == 0) {
if (region->vm_top > region->vm_start)
delete_nommu_region(region);
up_write(&nommu_region_sem);
Expand Down Expand Up @@ -1205,7 +1205,7 @@ unsigned long do_mmap_pgoff(struct file *file,
if (!vma)
goto error_getting_vma;

atomic_set(&region->vm_usage, 1);
region->vm_usage = 1;
region->vm_flags = vm_flags;
region->vm_pgoff = pgoff;

Expand Down Expand Up @@ -1272,7 +1272,7 @@ unsigned long do_mmap_pgoff(struct file *file,
}

/* we've found a region we can share */
atomic_inc(&pregion->vm_usage);
pregion->vm_usage++;
vma->vm_region = pregion;
start = pregion->vm_start;
start += (pgoff - pregion->vm_pgoff) << PAGE_SHIFT;
Expand All @@ -1289,7 +1289,7 @@ unsigned long do_mmap_pgoff(struct file *file,
vma->vm_region = NULL;
vma->vm_start = 0;
vma->vm_end = 0;
atomic_dec(&pregion->vm_usage);
pregion->vm_usage--;
pregion = NULL;
goto error_just_free;
}
Expand Down Expand Up @@ -1444,7 +1444,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
/* we're only permitted to split anonymous regions that have a single
* owner */
if (vma->vm_file ||
atomic_read(&vma->vm_region->vm_usage) != 1)
vma->vm_region->vm_usage != 1)
return -ENOMEM;

if (mm->map_count >= sysctl_max_map_count)
Expand Down Expand Up @@ -1518,7 +1518,7 @@ static int shrink_vma(struct mm_struct *mm,

/* cut the backing region down to size */
region = vma->vm_region;
BUG_ON(atomic_read(&region->vm_usage) != 1);
BUG_ON(region->vm_usage != 1);

down_write(&nommu_region_sem);
delete_nommu_region(region);
Expand Down

0 comments on commit 8686443

Please sign in to comment.