Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     09 Apr 2005  02:59:45
 To : Lev Serebryakov
 Subject : Re: DragonFlyBSD
 -------------------------------------------------------------------------------- 
 
 
 >>> Lev Serebryakov wrote: 
 
  VN>> будет лежать. И если мьютексная (неважно, с квадратно-гнездовой
  VN>> сериализацией, как в Linux, или скользящей, как во FreeBSD5) понятна
 LS>   Что подразумевается под этими терминами?
 
 Термины мои личные, общепринятых не знаю.
 Линуксовая сериализация в значительно большей мере построена на одном базовом
 приёме - одновременно за счёт запрета прерываний не допускается вмешательство
 обработчика на своём процессоре, а за счёт спинлока - любого кода на соседнем.
 Поэтому сериализация квадратная. (Про гнездовую я уже приписал для красного
 словца;))
 От этой схемы постепенно начали отходить только в 2.4-не-первых и 2.5,
 переложив часть работы (но не всю) на ядерные процессы; развитие же 2.0->2.4
 шло по пути увода всё большей части кода от big kernel lock.
 В отличие от Linux, во FreeBSD5 все прерывания (кроме таймерного, да и то
 не сразу по введению SMPng) были сделаны как минимальный обработчик собственно
 факта прерывания и далее побудка ядерного процесса, связанного с этим
 прерыванием и работающего под шедулером; вместо IPL'ей и спинлоков были
 введены семафоры с возможностью сна. С одной стороны это хорошо - например,
 kernel preemption получается почти автоматически. С другой, горизонтальное
 переключение (между процессами) традиционно значительно дороже, чем
 вертикальное (между userland, top half, bottom half), поэтому введение SMPng
 дало резкое замедление. При его введении обещали сделать какие-то "отложенные
 переключения контекстов" чтобы удешевить переключения, но судя по результатам -
 ничего пока не сделали.
 
  VN>> большому числу народа, то как строить без безумного геморроя схемы на
  VN>> сообщениях - знает значительно меньше грамотных людей. И тех в
  VN>> основном утянули писать драйвера под NT.
 LS>   Hу вот у нас весь многопоточный проект на приоритетных очередях заданий
 LS> (те же сообщения). Прекрасно работает. :) Локов очень мло в результате :)
 
 Это простой вариант, он и будет работать без особого насилия. А теперь
 представь себе драйвер UFS написанный в среде где не разрешено никаких
 вызовов с возможностью ожидания (даже для того чтобы выделить кусок памяти!)
 Hадо выделить память, прочитать блок, записать блок - заказываешь операцию,
 цепляешь callback hook на её завершение и в этом хуке разбираешься что
 получилось и заказываешь следующие действия.
 С одной стороны - масштабирование про процессорам идеальное - каждому только
 и дела что выдернуть из очереди очередное сообщение и запустить обработку.
 С другой стороны, писать под такую среду - повеситься можно.
 
 И без локов-то всё равно не деться - на один и тот же раздел две операции
 так просто не закажешь на двух процессорах - значит, есть где-то lock
 manager который смотрит на состав объектов над которыми действует операция,
 и даёт на выполнение только то, что не дерётся с уже занятыми локами. И чем
 это будет лучше традиционного для pthreads или FreeBSD5 подхода "хочешь
 лок, занято - идёшь спать пока не освободят, а мы пока с кем-то ещё поработаем"?
 
 В общем, чего-то Диллон не договаривает. Я всё больше подозреваю, что
 преимущество стрекозла только в одном - что те самые горизонтальные
 переключения контекстов процессов, которые неизбежны в мьютексной скользящей
 схеме типа FreeBSD5, крайне дороги и диллоновые LWKT выигрывают за счёт
 одного-единственного фактора - дешевизны их переключения. В принципе она
 понятна - если ядерный процесс (тред, неважно) несёт на себе только контекст
 ядра, переключение на другой такой же будет значительно дешевле переключения
 между двумя процессами с userland'ами, контекстами FPU, MMX, SSE и прочими
 двухпудовыми гирями. Hо какова будет цена отрыва ядерных веток, работающих
 с данными пользовательских процессов, от этих процессов?
 -netch-
 --- ifmail v.2.15dev5.3
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 DragonFlyBSD   Alex Ivanov   01 Apr 2005 19:14:30 
 Re: DragonFlyBSD   Gleb Smirnoff   01 Apr 2005 21:33:25 
 Re: DragonFlyBSD   Kirill Ponomarew   01 Apr 2005 21:55:46 
 Re: DragonFlyBSD   Alex Ivanov   04 Apr 2005 11:07:35 
 Re: DragonFlyBSD   Eugeny Chernetcki   01 Apr 2005 22:47:29 
 Re: DragonFlyBSD   Ilya Kiselyov   04 Apr 2005 11:19:23 
 Re: DragonFlyBSD   Eugeny Chernetcki   04 Apr 2005 13:07:56 
 Re: DragonFlyBSD   Sergey Matveychuk   06 Apr 2005 09:43:44 
 Re: DragonFlyBSD   Ilya Kiselyov   06 Apr 2005 10:56:30 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 14:28:19 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 15:38:41 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 15:46:50 
 DragonFlyBSD   Igor Savchyk   05 Apr 2005 14:37:32 
 Re: DragonFlyBSD   Kirill Ponomarew   06 Apr 2005 17:18:45 
 DragonFlyBSD   Igor Savchyk   07 Apr 2005 10:07:46 
 DragonFlyBSD   Ilya Kulagin   07 Apr 2005 14:15:02 
 Re: DragonFlyBSD   Eugene Grosbein   07 Apr 2005 18:57:27 
 DragonFlyBSD   Dmitry Ageev   07 Apr 2005 17:30:58 
 Re: DragonFlyBSD   Eugene Grosbein   07 Apr 2005 22:39:54 
 Re: DragonFlyBSD   Anton V. Yuzhaninov   09 Apr 2005 23:51:43 
 Re: DragonFlyBSD   Gleb Smirnoff   07 Apr 2005 18:31:08 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 19:34:41 
 Re: DragonFlyBSD   Sergey Skvortsov   07 Apr 2005 21:17:14 
 DragonFlyBSD   Vassily Kiryanov   08 Apr 2005 09:09:42 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:34:17 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 10:27:03 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 12:37:00 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 14:55:37 
 Re: DragonFlyBSD   Valentin Davydov   09 Apr 2005 13:28:50 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 21:14:24 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 11:10:21 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 11:57:41 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 15:00:12 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 16:59:54 
 DragonFlyBSD   Slawa Olhovchenkov   09 Apr 2005 23:08:56 
 Re: DragonFlyBSD   Sergey Skvortsov   10 Apr 2005 02:07:42 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 03:05:37 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 11:37:59 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 12:40:02 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 12:56:52 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 13:50:57 
 Re: DragonFlyBSD   Valentin Nechayev   11 Apr 2005 12:23:26 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 13:58:38 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 16:34:55 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 16:44:31 
 DragonFlyBSD   Lev Serebryakov   11 Apr 2005 21:38:48 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 22:31:08 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:10:23 
 DragonFlyBSD   Lev Serebryakov   10 Apr 2005 12:15:36 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 12:46:49 
 DragonFlyBSD   Alexander Pashchenko   11 Apr 2005 22:57:06 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 18:25:33 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 11:54:43 
 DragonFlyBSD   Vassily Kiryanov   11 Apr 2005 13:31:59 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:09:47 
 Re: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:34 
 DragonFlyBSD   Vassily Kiryanov   12 Apr 2005 11:22:11 
 Re: DragonFlyBSD   Valentin Davydov   13 Apr 2005 13:09:05 
 DragonFlyBSD   Alex Masterov   14 Apr 2005 10:59:10 
 DragonFlyBSD   Vassily Kiryanov   14 Apr 2005 17:25:56 
 DragonFlyBSD   Artem Ignatiev   14 Apr 2005 16:44:09 
 DragonFlyBSD   Ivan Ushakov   14 Apr 2005 21:21:29 
 Re: DragonFlyBSD   Dmitry Miloserdov   14 Apr 2005 20:27:26 
 DragonFlyBSD   Ivan Ushakov   15 Apr 2005 08:48:10 
 Re: DragonFlyBSD   Eugene Grosbein   14 Apr 2005 23:33:43 
 DragonFlyBSD   Vassily Kiryanov   15 Apr 2005 09:02:31 
 DragonFlyBSD   Alex Ivanov   15 Apr 2005 10:52:23 
 DragonFlyBSD   Sultan Azhiguzhayev   15 Apr 2005 11:20:48 
 DragonFlyBSD   Artem Ignatiev   15 Apr 2005 16:28:17 
 Re: DragonFlyBSD   Andrew Filonov   15 Apr 2005 17:10:41 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 18:29:44 
 Re: DragonFlyBSD   Eugene Grosbein   15 Apr 2005 22:30:41 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 20:18:53 
 Re: DragonFlyBSD   Eugene Grosbein   15 Apr 2005 23:58:46 
 Re: DragonFlyBSD   Artem Ignatiev   16 Apr 2005 00:07:33 
 Re: DragonFlyBSD   Eugene Grosbein   16 Apr 2005 11:12:10 
 Re: DragonFlyBSD   Eugeny Dzhurinsky   15 Apr 2005 17:49:46 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 20:22:21 
 DragonFlyBSD   Lev Serebryakov   16 Apr 2005 00:18:24 
 Re: DragonFlyBSD   Dmitry Miloserdov   15 Apr 2005 20:42:20 
 DragonFlyBSD   Lev Serebryakov   16 Apr 2005 00:19:34 
 Re: DragonFlyBSD   Andrew Filonov   18 Apr 2005 10:11:35 
 DragonFlyBSD   Lev Serebryakov   19 Apr 2005 23:45:10 
 Re: DragonFlyBSD   Andrew Filonov   20 Apr 2005 11:01:49 
 DragonFlyBSD   Lev Serebryakov   20 Apr 2005 22:55:56 
 Re: DragonFlyBSD   Andrew Filonov   21 Apr 2005 15:28:54 
 DragonFlyBSD   Lev Serebryakov   22 Apr 2005 00:07:12 
 Re: DragonFlyBSD   Mykola Dzham   16 Apr 2005 12:42:15 
 DragonFlyBSD   Vitaly Mihno   01 Jan 2002 17:23:07 
 Re: DragonFlyBSD   Valentin Davydov   14 Apr 2005 18:09:50 
 Re: DragonFlyBSD   Vasily Korytov   07 Apr 2005 23:13:38 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 00:26:30 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:38:54 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 22:49:01 
 Re: DragonFlyBSD   Valeriy E. Ushakov   09 Apr 2005 17:51:04 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 18:37:08 
 Re: DragonFlyBSD   Valeriy E. Ushakov   09 Apr 2005 20:57:20 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 15:34:08 
 Re: DragonFlyBSD   Igor Sysoev   11 Apr 2005 14:15:06 
 DragonFlyBSD   Lev Serebryakov   09 Apr 2005 00:39:24 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 02:59:45 
 DragonFlyBSD   Lev Serebryakov   09 Apr 2005 13:02:44 
 Re: DragonFlyBSD   Valentin Davydov   09 Apr 2005 13:28:50 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 15:35:04 
 Re: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:33 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 18:09:26 
 Re: DragonFlyBSD   Dmitry Miloserdov   12 Apr 2005 21:26:24 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 10:15:25 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 20:05:40 
 Re: DragonFlyBSD   Valentin Nechayev   20 Apr 2005 10:59:13 
 Re: DragonFlyBSD   Dmitry Miloserdov   21 Apr 2005 18:47:25 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 11:50:56 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 13:52:06 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 18:13:43 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 18:13:43 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 21:01:34 
 Re: DragonFlyBSD   Valentin Nechayev   14 Apr 2005 10:26:55 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 00:53:01 
 Re: DragonFlyBSD   Gleb Smirnoff   08 Apr 2005 10:50:34 
 Re: DragonFlyBSD   vladimir.sharun@ukr.net   08 Apr 2005 10:56:41 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 13:29:16 
 DragonFlyBSD   Igor Savchyk   11 Apr 2005 10:20:34 
 DragonFlyBSD   Alex Ivanov   06 Apr 2005 18:26:00 
 DragonFlyBSD   Igor Savchyk   07 Apr 2005 10:01:14 
 Re: DragonFlyBSD   Dmitri Zubko   07 Apr 2005 21:27:40 
 Re: DragonFlyBSD   Valeriy E. Ushakov   08 Apr 2005 01:54:32 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:40:25 
 Re^2: DragonFlyBSD   Dmitri Zubko   08 Apr 2005 23:48:16 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 12:34:56 
 Re^2: DragonFlyBSD   Dmitri Zubko   09 Apr 2005 23:26:08 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 11:52:10 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 11:48:39 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:09:13 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 18:12:42 
 DragonFlyBSD   Sergej Kosinskij   11 Apr 2005 19:57:26 
 Re: Re^2: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 16:35:42 
 Re^2: Re^2: DragonFlyBSD   Dmitri Zubko   09 Apr 2005 23:43:54 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   10 Apr 2005 01:47:01 
 Re: Re^2: Re^2: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:32 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   11 Apr 2005 19:44:19 
 Re: Re^2: Re^2: DragonFlyBSD   Valentin Davydov   13 Apr 2005 13:45:52 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   13 Apr 2005 14:11:29 
 Re: DragonFlyBSD   Victor Sudakov   09 Apr 2005 19:52:20 
 Re: Re^2: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 13:55:40 
 Re^2: Re^2: DragonFlyBSD   Dmitri Zubko   12 Apr 2005 21:09:54 
 DragonFlyBSD   Igor Savchyk   12 Apr 2005 11:26:22 
 DragonFlyBSD   Slawa Olhovchenkov   12 Apr 2005 21:55:22 
Архивное /ru.unix.bsd/2238301af676b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional