Messages in this thread | | | Date | Mon, 28 May 2018 19:57:22 -0700 | From | Matthew Wilcox <> | Subject | Re: [PATCH] mm: convert scan_control.priority int => byte |
| |
On Mon, May 28, 2018 at 07:40:25PM -0700, Greg Thelen wrote: > Reclaim priorities range from 0..12(DEF_PRIORITY). > scan_control.priority is a 4 byte int, which is overkill. > > Since commit 6538b8ea886e ("x86_64: expand kernel stack to 16K") x86_64 > stack overflows are not an issue. But it's inefficient to use 4 bytes > for priority.
If you're looking to shave a few more bytes, allocation order can fit in a u8 too (can't be more than 6 bits, and realistically won't be more than 4 bits). reclaim_idx likewise will fit in a u8, and actually won't be more than 3 bits.
I am sceptical that nr_to_reclaim should really be an unsigned long; I don't think we should be trying to free 4 billion pages in a single call. nr_scanned might be over 4 billion (!) but nr_reclaimed can probably shrink to unsigned int along with nr_to_reclaim.
| |