On 28/03/16(Mon) 11:28, Stefan Kempf wrote: > Miod Vallat wrote: > > > > > It seems per-page reference counting is used since forever. I think > > > there's no reason to ever turn it off (and track referenced pages > > > with less accuracy, causing leaks). > > > > Actually, assuming the #undef code path works, it might work keeping > > this and only defining UVM_AMAP_PPREF iff defined(SMALL_KERNEL). > > Doing this saves around 1.6K on bsd.rd/amd64. > > Would that be preferred over removing the #ifdefs?
I'd prefer to get rid of the #ifdefs and have fewer differences between RAMDISK and GENERIC. > text data bss dec hex > 4736948 2409000 577536 7723484 75d9dc > 4738636 2409000 577536 7725172 75e074 > > diff --git a/uvm/uvm_amap.h b/uvm/uvm_amap.h > index a98b440..a768e94 100644 > --- a/uvm/uvm_amap.h > +++ b/uvm/uvm_amap.h > @@ -119,7 +119,9 @@ boolean_t amap_swap_off(int, int); > * ... this is enabled with the "UVM_AMAP_PPREF" define. > */ > > -#define UVM_AMAP_PPREF /* track partial references */ > +#ifndef SMALL_KERNEL > +# define UVM_AMAP_PPREF /* track partial references */ > +#endif > > /* > * here is the definition of the vm_amap structure for this implementation. >