Context |
Check |
Description |
bjorn/pre-ci_am |
success
|
Success
|
bjorn/build-rv32-defconfig |
success
|
build-rv32-defconfig
|
bjorn/build-rv64-clang-allmodconfig |
success
|
build-rv64-clang-allmodconfig
|
bjorn/build-rv64-gcc-allmodconfig |
success
|
build-rv64-gcc-allmodconfig
|
bjorn/build-rv64-nommu-k210-defconfig |
success
|
build-rv64-nommu-k210-defconfig
|
bjorn/build-rv64-nommu-k210-virt |
success
|
build-rv64-nommu-k210-virt
|
bjorn/checkpatch |
success
|
checkpatch
|
bjorn/dtb-warn-rv64 |
success
|
dtb-warn-rv64
|
bjorn/header-inline |
success
|
header-inline
|
bjorn/kdoc |
fail
|
kdoc
|
bjorn/module-param |
success
|
module-param
|
bjorn/verify-fixes |
success
|
verify-fixes
|
bjorn/verify-signedoff |
success
|
verify-signedoff
|
@@ -38,8 +38,9 @@ static inline void __iommu_alloc_account(struct page *page, int order)
* @page: head struct page of the page.
* @order: order of the page
*/
-static inline void __iommu_free_account(struct page *page, int order)
+static inline void __iommu_free_account(struct page *page)
{
+ unsigned int order = folio_order(page_folio(page));
const long pgcnt = 1l << order;
mod_node_page_state(page_pgdat(page), NR_IOMMU_PAGES, -pgcnt);
@@ -57,7 +58,8 @@ static inline void __iommu_free_account(struct page *page, int order)
*/
static inline void *iommu_alloc_pages_node(int nid, gfp_t gfp, int order)
{
- struct page *page = alloc_pages_node(nid, gfp | __GFP_ZERO, order);
+ struct page *page =
+ alloc_pages_node(nid, gfp | __GFP_ZERO | __GFP_COMP, order);
if (unlikely(!page))
return NULL;
@@ -115,8 +117,8 @@ static inline void iommu_free_pages(void *virt, int order)
return;
page = virt_to_page(virt);
- __iommu_free_account(page, order);
- __free_pages(page, order);
+ __iommu_free_account(page);
+ put_page(page);
}
/**
@@ -143,7 +145,7 @@ static inline void iommu_put_pages_list(struct list_head *page)
struct page *p = list_entry(page->prev, struct page, lru);
list_del(&p->lru);
- __iommu_free_account(p, 0);
+ __iommu_free_account(p);
put_page(p);
}
}