.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "UNMAP_VMAS" "9" "09 October 2005" "" ""
.SH NAME
unmap_vmas \- unmap a range of memory covered by a list of vma's
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
unsigned long unmap_vmas (struct mmu_gather ** \fItlbp\fB, struct mm_struct * \fImm\fB, struct vm_area_struct * \fIvma\fB, unsigned long \fIstart_addr\fB, unsigned long \fIend_addr\fB, unsigned long * \fInr_accounted\fB, struct zap_details * \fIdetails\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fItlbp\fB\fR
address of the caller's struct mmu_gather
.TP
\fB\fImm\fB\fR
the controlling mm_struct
.TP
\fB\fIvma\fB\fR
the starting vma
.TP
\fB\fIstart_addr\fB\fR
virtual address at which to start unmapping
.TP
\fB\fIend_addr\fB\fR
virtual address at which to end unmapping
.TP
\fB\fInr_accounted\fB\fR
Place number of unmapped pages in vm-accountable vma's here
.TP
\fB\fIdetails\fB\fR
details of nonlinear truncation or shared cache invalidation
.SH "DESCRIPTION"
.PP
Returns the end address of the unmapping (restart addr if interrupted).
.PP
Unmap all pages in the vma list. Called under page_table_lock.
.PP
We aim to not hold page_table_lock for too long (for scheduling latency
reasons). So zap pages in ZAP_BLOCK_SIZE bytecounts. This means we need to
return the ending mmu_gather to the caller.
.PP
Only addresses between `start' and `end' will be unmapped.
.PP
The VMA list must be sorted in ascending virtual address order.
.PP
\fBunmap_vmas\fR assumes that the caller will flush the whole unmapped address
range after \fBunmap_vmas\fR returns. So the only responsibility here is to
ensure that any thus-far unmapped pages are flushed before \fBunmap_vmas\fR
drops the lock and schedules.