LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

Но полностью tlb не сбрасывается. Конечно, промах из-за стека и каких-то локальных данных будет, но при использовании epoll те же промахи будут при доступе к локальным данным/буферам определённого соединения.

при использовании epoll можно использовать huge pages, а вот можно ли использовать huge pages, если у нас 100К нитей? ведь емнип страницу можно замапить только целиком, и такому процессу придется отдать 100К*2М=200Гбайт, причем большая часть байтов будет пустой

ну и даже при 10К нитей все равно 20Гбайт оперативы на пустое приложение, не?

я тут предполагаю, что стеки нитей должны быть в *разных* страницах; конечно, им можно и обычные (4Кбайт) страницы выдать, но тогда страниц будет существенно больше, чем при epoll, и больше tlb миссов

Исправление www_linux_org_ru, :

Но полностью tlb не сбрасывается. Конечно, промах из-за стека и каких-то локальных данных будет, но при использовании epoll те же промахи будут при доступе к локальным данным/буферам определённого соединения.

при использовании epoll можно использовать huge pages, а вот можно ли использовать huge pages, если у нас 100К нитей? ведь емнип страницу можно замапить только целиком, и такому процессу придется отдать 100К*2М=200Гбайт, причем большая часть байтов будет пустой

ну и даже при 10К нитей все равно 20Гбайт оперативы на пустое приложение, не?

Исправление www_linux_org_ru, :

Но полностью tlb не сбрасывается. Конечно, промах из-за стека и каких-то локальных данных будет, но при использовании epoll те же промахи будут при доступе к локальным данным/буферам определённого соединения.

при использовании epoll можно использовать huge pages, а вот можно ли использовать huge pages, если у нас 100К нитей? ведь емнип страницу можно замапить только целиком, и такому процессу придется отдать 100К*2М=400Гбайт, причем большая часть байтов будет пустой

ну и даже при 10К нитей все равно 20Гбайт оперативы на пустое приложение, не?

Исправление www_linux_org_ru, :

Но полностью tlb не сбрасывается. Конечно, промах из-за стека и каких-то локальных данных будет, но при использовании epoll те же промахи будут при доступе к локальным данным/буферам определённого соединения.

при использовании epoll можно использовать huge pages, а вот можно ли использовать huge pages, если у нас 100К нитей? ведь емнип страницу можно замапить только целиком, и такому процессу придется отдать 100К*4М=400Гбайт, причем большая часть байтов будет пустой

ну и даже при 10К нитей все равно 40Гбайт оперативы на пустое приложение, не?

Исходная версия www_linux_org_ru, :

Но полностью tlb не сбрасывается. Конечно, промах из-за стека и каких-то локальных данных будет, но при использовании epoll те же промахи будут при доступе к локальным данным/буферам определённого соединения.

при использовании epoll можно использовать huge pages, а вот можно ли использовать huge pages, если у нас 100К нитей? ведь емнип страницу можно замапить только целиком, и такому процессу придется отдать 100К*4М=400Гбайт, большая часть которых будет пустой

ну и даже при 10К нитей все равно 40Гбайт оперативы на пустое приложение, не?