NGX_POOL_ALIGNMENT

Maxim Dounin mdounin на mdounin.ru
Сб Сен 23 23:44:13 UTC 2017


Hello!

On Fri, Sep 22, 2017 at 11:45:27AM +0300, Oleg wrote:

> On Thu, Sep 21, 2017 at 05:43:12PM +0300, Maxim Dounin wrote:
> > On Thu, Sep 21, 2017 at 11:35:45AM +0300, Oleg wrote:
> > 
> > > Кто-нибудь в курсе почему NGX_POOL_ALIGNMENT равен именно 16?
> > 
> > Сколько-нибудь серьёзных причин к тому нет.  Одно время были 
> > попытки выравнивать пулы по размеру страницы - это хорошо работает 
> > на FreeBSD, где метаинформация об аллокациях храница отдельно, 
> > однако плохо показало себя на Линуксе, где метаинформация хранится 
> > непосредственно перед аллокацией.  В результате выравнивание было 
> > уменьшено до консервативного значения 16, и с тех пор такое.
> 
>   Т.е. если выставить в 8 (sizeof(void*)), то должно быть норм, так?

На практике разницы не будет, в том смысле, что на современных 
64-битных платформах возвращаемая память всё равно будет выровнена 
на 16.

-- 
Maxim Dounin
http://nginx.org/


Подробная информация о списке рассылки nginx-ru