[ofa-general] Re: [kvm-devel] Notifier for Externally Mapped Memory (EMM) V1

Avi Kivity avi at qumranet.com
Wed Mar 5 22:12:01 PST 2008


Christoph Lameter wrote:
>  
>  /*
> + * Notifier for devices establishing their own references to Linux
> + * kernel pages in addition to the regular mapping via page
> + * table and rmap. The notifier allows the device to drop the mapping
> + * when the VM removes references to pages.
> + */
> +enum emm_operation {
> +	emm_release,		/* Process existing, */
> +	emm_invalidate_start,	/* Before the VM unmaps pages */
> +	emm_invalidate_end,	/* After the VM unmapped pages */
> +	emm_referenced		/* Check if a range was referenced */
> +};
>   

Check and clear


btw, a similar test and clear dirty would be useful as well, no?

> +
> +struct emm_notifier {
> +	int (*callback)(struct emm_notifier *e, struct mm_struct *mm,
> +		enum emm_operation op,
> +		unsigned long start, unsigned long end);
> +	struct emm_notifier *next;
> +};
> +
>   

It is cleaner for the user to specify individual callbacks instead of 
having a switch.


-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.




More information about the general mailing list