mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
s390/mm: Use __GFP_ACCOUNT for user page table allocations
Add missing kmemcg accounting of user page table allocations. Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
e11727b2b0
commit
5671ce2a1f
|
|
@ -16,9 +16,13 @@
|
|||
|
||||
unsigned long *crst_table_alloc(struct mm_struct *mm)
|
||||
{
|
||||
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, CRST_ALLOC_ORDER);
|
||||
gfp_t gfp = GFP_KERNEL_ACCOUNT;
|
||||
struct ptdesc *ptdesc;
|
||||
unsigned long *table;
|
||||
|
||||
if (mm == &init_mm)
|
||||
gfp &= ~__GFP_ACCOUNT;
|
||||
ptdesc = pagetable_alloc(gfp, CRST_ALLOC_ORDER);
|
||||
if (!ptdesc)
|
||||
return NULL;
|
||||
table = ptdesc_to_virt(ptdesc);
|
||||
|
|
@ -117,7 +121,7 @@ struct ptdesc *page_table_alloc_pgste(struct mm_struct *mm)
|
|||
struct ptdesc *ptdesc;
|
||||
u64 *table;
|
||||
|
||||
ptdesc = pagetable_alloc(GFP_KERNEL, 0);
|
||||
ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, 0);
|
||||
if (ptdesc) {
|
||||
table = (u64 *)ptdesc_to_virt(ptdesc);
|
||||
__arch_set_page_dat(table, 1);
|
||||
|
|
@ -136,10 +140,13 @@ void page_table_free_pgste(struct ptdesc *ptdesc)
|
|||
|
||||
unsigned long *page_table_alloc(struct mm_struct *mm)
|
||||
{
|
||||
gfp_t gfp = GFP_KERNEL_ACCOUNT;
|
||||
struct ptdesc *ptdesc;
|
||||
unsigned long *table;
|
||||
|
||||
ptdesc = pagetable_alloc(GFP_KERNEL, 0);
|
||||
if (mm == &init_mm)
|
||||
gfp &= ~__GFP_ACCOUNT;
|
||||
ptdesc = pagetable_alloc(gfp, 0);
|
||||
if (!ptdesc)
|
||||
return NULL;
|
||||
if (!pagetable_pte_ctor(mm, ptdesc)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user