On Mon 17-03-14 13:53:35, Dave Hansen wrote:
> On 03/17/2014 12:49 PM, Jan Kara wrote:
> > +int get_vaddr_pfns(unsigned long start, int nr_pfns, int write, int force,
> > + struct pinned_pfns *pfns)
> > +{
> ...
> > + if (!(vma->vm_flags & (VM_IO | VM_PFNMAP))) {
> > + pfns->got_ref = 1;
> > + pfns->is_pages = 1;
> > + ret = get_user_pages(current, mm, start, nr_pfns, write, force,
> > + pfns_vector_pages(pfns), NULL);
> > + goto out;
> > + }
>
> Have you given any thought to how this should deal with VM_MIXEDMAP
> vmas? get_user_pages() will freak when it hits the !vm_normal_page()
> test on the pfnmapped ones, and jump out. Shouldn't get_vaddr_pfns() be
> able to handle those too?
It could and it doesn't seem as a big complication. Although none of the
converted drivers need this functionality, I guess it makes sense to
implement this to make the API more consistent. So I can have a look at it
for the next iteration.
Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html