> > + * hfi1_get_user_pages - lock user pages into memory > > + * @start_page: the start page > > + * @num_pages: the number of pages > > + * @p: the output page structures > > + * > > + * This function takes a given start page (page aligned user virtual > > + * address) and pins it and the following specified number of pages. > > +For > > + * now, num_pages is always 1, but that will probably change at some > > +point > > + * (because caller is doing expected sends on a single virtually > > +contiguous > > + * buffer, so we can do all pages at once). > > + */ > > +int hfi1_get_user_pages(unsigned long start_page, size_t num_pages, > > + struct page **p) { > > + int ret; > > + > > + down_write(¤t->mm->mmap_sem); > > + > > + ret = __hfi1_get_user_pages(start_page, num_pages, p); > > + > > + up_write(¤t->mm->mmap_sem); > > + > > + return ret; > > +} > > + > > anything wrong with the umem services provided by the IB core that > requires this implementation? what? > We are currently investigating this. Mike ��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f