mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
slab fixes for 6.13-rc3
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmdb/84ACgkQu+CwddJF iJqEhQf+KHXQfZ/m7ma6bUEisjVOkUsxnpSj/DM1CP03+czqXoSEr+CHX2g1v0Os pZSOGGPTtvDgSBO0UZgo1P+sXyl0hrs2A/XrVQfKPmTfc9mPoxFTkbhI7Rv9hZfi 9OVh9kg3OE2hixD9ussGmxtFTXE3vXeu9zASa2sEdpakc3gxgeNhIklGK9r3oQuF 4aa33JpRV/oF80XAAUch5ltAO0tqQWtN50CbnoKc5cGRDuFRRdzXMMiL7gGiCctI te3sVMc6mnusdJqvp+AE10aT0iQpRWwL1lzGrgp3PuZ7DN8UQHxBIf8u8VIjyPML D2JZEYmqykKSvXbDzYBdOAF8XLEYCw== =PpHb -----END PGP SIGNATURE----- Merge tag 'slab-for-6.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab Pull slab fix from Vlastimil Babka: - Fix for memcg unreclaimable slab stats drift when post-charging large kmalloc allocations (Shakeel Butt) * tag 'slab-for-6.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: memcg: slub: fix SUnreclaim for post charged objects
This commit is contained in:
commit
266facde83
21
mm/slub.c
21
mm/slub.c
@ -2189,9 +2189,24 @@ bool memcg_slab_post_charge(void *p, gfp_t flags)
|
||||
|
||||
folio = virt_to_folio(p);
|
||||
if (!folio_test_slab(folio)) {
|
||||
return folio_memcg_kmem(folio) ||
|
||||
(__memcg_kmem_charge_page(folio_page(folio, 0), flags,
|
||||
folio_order(folio)) == 0);
|
||||
int size;
|
||||
|
||||
if (folio_memcg_kmem(folio))
|
||||
return true;
|
||||
|
||||
if (__memcg_kmem_charge_page(folio_page(folio, 0), flags,
|
||||
folio_order(folio)))
|
||||
return false;
|
||||
|
||||
/*
|
||||
* This folio has already been accounted in the global stats but
|
||||
* not in the memcg stats. So, subtract from the global and use
|
||||
* the interface which adds to both global and memcg stats.
|
||||
*/
|
||||
size = folio_size(folio);
|
||||
node_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, -size);
|
||||
lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, size);
|
||||
return true;
|
||||
}
|
||||
|
||||
slab = folio_slab(folio);
|
||||
|
Loading…
Reference in New Issue
Block a user