[PATCH] udmabuf: Add support for mapping hugepages
Gerd Hoffmann
kraxel at redhat.com
Thu Jun 3 09:44:24 UTC 2021
Hi,
> + if (is_file_hugepages(memfd)) {
> + hpstate = hstate_file(memfd);
> + pgoff = list[i].offset >> huge_page_shift(hpstate);
> + subpgoff = (list[i].offset &
> + ~huge_page_mask(hpstate)) >> PAGE_SHIFT;
> + hpage = find_get_page_flags(
> + file_inode(memfd)->i_mapping,
> + pgoff, FGP_ACCESSED);
> + if (IS_ERR(hpage)) {
> + ret = PTR_ERR(hpage);
> goto err;
> }
> + }
> + for (pgidx = 0; pgidx < pgcnt; pgidx++) {
> + if (is_file_hugepages(memfd)) {
> + page = hpage + subpgoff + pgidx;
> + get_page(page);
Hmm. Does this work in case the page range spans multiple huge pages?
take care,
Gerd
More information about the dri-devel
mailing list