[SOLVED] PCI slow work
Есть мамка P8H67-MLE rev3, и она поддеживает 6 sata устройств.
Но у меня больше устройств.
Купил себе PCI контроллер для САТА (типа такого http://www.nix.ru/autocatalog/controllers_stlab/STLab_A370_PCIEx4_SATAII_2portext_4portint_110160.html)
Воткнул туда диск... и медленнно копирует.
Для сравнения: с обычного сата разьема на маме получаю 145-150 MB/c
А если этот же диск воткнуть в PCI карту, то получаю всего каких-то 2.6 MB/c.
В 70 раз медленне!
Думал что-то с мамкой...
Но воткнул systemrescue, загрузился с него и получил с контроллера PCI 90-100 MB/c.
Значит дело в ядре.
Но что копать, не понятно.
Конфиг системы и СД слишком разнятся.
Раздел ядра Bus options (PCI etc.) почти идентичны.
Что куда еще копнуть?
Конфиг ядра системы: https://gist.github.com/3117025
Модули системы https://gist.github.com/3117027
- Для комментирования войдите или зарегистрируйтесь
Сударь соизволит
Сударь соизволит показать
и
?
В рескью больше драйверов sata-устройств
Очень может быть, что с Вашим ядром система работает в "режиме совместимости", отсюда и низкая скорость.
Спасибо, ещё увидела Ваш диск. Во-всяком случае, в Вашем сообщении я не увидел, что Вы пересобрали ядро с поддержкой чипов на PCI-E контроллере.
Дополню -- полезно посмотреть вывод dmesg сразу после загрузки, как определились устройства, какие к ним модули инициализированы. Смотрите по буквам диска.
(Sir) * Windows looks like an open door, but no way to go *
00:00.0 Host bridge: Intel
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 82801 PCI Bridge (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation H67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
03:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01)
04:01.0 RAID bus controller: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
06:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
00:00.0 0600: 8086:0100 (rev 09)
00:01.0 0604: 8086:0101 (rev 09)
00:02.0 0300: 8086:0102 (rev 09)
00:16.0 0780: 8086:1c3a (rev 04)
00:1a.0 0c03: 8086:1c2d (rev 05)
00:1b.0 0403: 8086:1c20 (rev 05)
00:1c.0 0604: 8086:1c10 (rev b5)
00:1c.4 0604: 8086:244e (rev b5)
00:1c.5 0604: 8086:1c1a (rev b5)
00:1c.6 0604: 8086:1c1c (rev b5)
00:1c.7 0604: 8086:1c1e (rev b5)
00:1d.0 0c03: 8086:1c26 (rev 05)
00:1f.0 0601: 8086:1c4a (rev 05)
00:1f.2 0106: 8086:1c02 (rev 05)
00:1f.3 0c05: 8086:1c22 (rev 05)
03:00.0 0604: 1b21:1080 (rev 01)
04:01.0 0104: 1095:3114 (rev 02)
05:00.0 0200: 10ec:8168 (rev 03)
06:00.0 0c03: 1033:0194 (rev 03)
dmesg:
dmesg: https://gist.github.com/3117541
Вывод lspci -v для всех
Вывод lspci -v для всех одинаков (и в системе и в systemrescue)
RAID bus controller: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
Subsystem: Silicon Image, Inc. Device 7114
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17
I/O ports at e040 [=8]
I/O ports at e030 [=4]
I/O ports at e020 [=8]
I/O ports at e010 [=4]
I/O ports at e000 [=16]
Memory at fe580000 (32-bit, non-prefetchable) [=1K]
Expansion ROM at fe500000 [disabled] [=512K]
Capabilities: [60] Power Management version 2
Kernel driver in use: sata_sil
Kernel modules:sata_sil
Возьмите конфиг от
Возьмите конфиг от systemrescuecd и соберите на основе него своё ядро.
Но перед сборкой с этим конфигом как минимум просто выполните make menuconfig.
Т.к. он собран не с совсем обычных исходников gentoo-sources, на них наложены дополнительные патчи.
уже занимаюсь этим. Жду вот
уже занимаюсь этим.
Жду вот когда соберется.
time sh -c "dd if=/dev/zero
time sh -c "dd if=/dev/zero of=/dev/sdi bs=1M skip=10 count=500"
500+0 записей считано
500+0 записей написано
скопировано 524288000 байт (524 MB), 100.112 c, 5.2 MB/c
Пересборка ядра с конфигом от rescuecd не дала рез-тов.
Скорость так и осталось.
Может ещё стоит таки огласить
Может ещё стоит таки огласить версии ядер systemrescue и системы?
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Ради теста попробуйте
Ради теста попробуйте загрузить вашу систему с ядром от systemrescuecd, не собранным на основе его конфига, а скопировав ядро и модули в вашу систему и загрузившись с ним.
Распакуйте готовый initrd, собранный genkernelположите в него модули поддержки контроллера жёстких дисков и корневой файловой системы, поддержки lvm и прочего, то необходимо для загрузки и подключения корневой файловой системы от свеже скопированного ядра и запакуйте заново, модули от системного ядра можете удалить.
Затем загрузитесь с этим ядром и проверьте скорость обмена данными.
Но проверять лучше не просто записывая нули, скопировать или считать dd какой-либо файл.
А то иначе оказывает своё влияние дисковый кэш. К тому же вы пишете несколько одинаковых блоков, 500 блоков размером в 1 мегабайт, забитых нулями.
Лучше использовать более правдоподобные данные.
/
Глупый вопрос: как это сделать?
В виденных мной версиях в
/proc/
я конфига ядра не находил.:wq
--
Live free or die
Плохо смотрели less
Плохо смотрели
или
kostik87 написал(а): Плохо
Как раз
/proc/config.gz
на тестированном SysRescueCd не обнаруживалось.Или оно от варианта загрузки зависит?..
:wq
--
Live free or die
Вы хоть потрудились скачать
Вы хоть потрудились скачать образ диска и проверить свои слова ?
Скачайте последнюю стабильную версию 2.8.0 и удостоверьтесь, что там есть /proc/config.gz.
Неужели так сложно проверить перед тем как писать сообщение в тему ?
Нужно за детсадовское поведение.
Во всех версиях systemrescuecd, которые я использовал присутствовал /proc/config.gz или /proc/config, а использовать я начал systemrescuecd с версии 1.x.x.
)))
А вы вообще-то про одну версию Rescue-CD говорите?
(Sir) * Windows looks like an open door, but no way to go *
Слушайте, я не знаю про что
Слушайте, я не знаю про что говорит автор вопроса, который не может найти /proc/config.gz, но я указывал на SYSTEMRESCUECD - http://www.sysresccd.org/
Если вопрошаемому трудно зайти на сайт, скачать последнюю стабильную версию (2.8.0) и проверить его вопрос., то тут не о чем говорить.
.
В переводе: не верь глазам своим и личному опыту, слушай Гуру и выполняй его инструкции.
Указанного файла (
/proc/config.gz
) в использованном режиме загрузки наличной версии не наблюдалось!:wq
--
Live free or die
Цитата: Указанного файла
Это либо уже троллинг, либо не умение разобраться и использовать что-либо, в данном случае загрузиться с iso образа, выбрав любой из вариантов загрузки, вот вам в картинках загрузка systemrescuecd-2.3.1.iso с первого варианта загрузки, "Default boot options", и загрузка с Alternate 32 битным ядром, параметры по умолчанию.
Пошли картинки:
http://postimage.org/image/qnmq3h67v/
http://postimage.org/image/tx79e7rhd/
http://postimage.org/image/ezt9wkls3/
http://postimage.org/image/a57frikkt/
http://postimage.org/image/vwlc0ye89/
Вот для systemrescuecd-1.6.0:
http://postimage.org/image/ngwrxlb5n/
http://postimage.org/image/wozpwb4rl/
Думаю вопрос о наличии config.gz закрыт.
Но открыт вопрос о умении вами выполнять действия по проверке вопросов, которые вы хотите задать.
/
Воистину троллинг.
Только в вашем исполнении.
Впрочем, это далеко не первый пример из моей практики по ловле желающих считать себя гуру на ньюансах.
:wq
--
Live free or die
Я не считаю себя гуру, я лишь
Я не считаю себя гуру, я лишь указал вам на не правоту вашего мнения, которое ошибочно 100 процентов в данном случае.
.
Апломб, с которым высказывается предположение, что у оппонента нет опыта работы с первой веткой SysRecueCd воистину прекрасен.
:wq
--
Live free or die
Это не апломб, а уже 3
Это не апломб, а уже 3 попытка донести до вашего сознания информацию о том, что нужно выполнить для проверки вашего вопроса перед тем как его задавать.
Смотрите это сообщение http://www.gentoo.ru/node/25653#comment-191078 , в нём я специально для вас выложил картинки, если текст вам не ясен.
kostik87 написал(а): Это не
Отсюда очевидным образом следует вопрос о наличии у Вас навыков понимания прочитанного.
Повторяю вопрос:
На фига мне нужно производить какие-либо специальные действия для перепроверки зарегистрированных результатов опыта?
Опыт уже был.
Результат опыта отмечен.
На фига перепроверять?!?
Или Вы хотите подать пример отсутствия доверия к самому себе?..
:wq
--
Live free or die
Цитата: На фига мне нужно
Значит проверка была проведена не корректно, или вас не устраивают прямые доказательства, указанные в этом сообщении http://www.gentoo.ru/node/25653#comment-191078 , а именно скриншоты ? Ну тогда вы просто упёрлись в своё мнение.
Если у вас не было /proc/config.gz - значит вы грузили не systemrescuecd, либо не правильно набрали имя файла, либо опция CONFIG_IKCONFIG была собрана модулем и нужно было сначала загрузить модуль ядра 'config', после чего /proc/config.gz или /proc/config должны быть на месте.
Если вы всё ещё упираетесь, вот вам косвенное подтверждение, если даже вас скриншоты не устраивают., я нашёл конфиг в /proc, в нескольких версиях systemrescuecd и ТС нашёл конфиг в /proc, если вы внимательно почитаете его сообщения то удостоверитесь в этом.
В любом случае наш спор не имеет ничего полезного, по крайней мере для меня, это как спорить что Земля плоская или круглая (я конечно утверждаю, что она круглая).
А целесообразно вам или нет перепроверить ваше знание о наличие /proc/config.gz решайте сами., но оно у вас не верно.
.
Вы не находите, что необходимым обеспечением данного утверждения является проверка всех вариантов загрузки всех версий SysRescueCd?
Приведённые аргументы указывают лишь на то, что для некоторого набора проверенных ситуаций моё утверждение неверно.
1. Не надо оппонента совсем за дурака держать.
2. Не говоря о том, что само это действие (сокрытие конфига ядра) в livecd, предназначенном для установки или восстановления системы является действием неразумным.
Спасибо.
О существовании фичи автодополнения осведомлён, в наборе трёх символов ошибиться можно только если очень хорошо постараться.
И как эта опция включена в стандартном конфиге SysRescueCd? :)
Не находите, что сборка модулем (который автоматически не загрузился) приводит к описанной мной ситуации (подсказка: склонностью к загрузке SysRescueCd ради загрузки и проверки не обременён)?
:)
:)))
Спасибо, потребности в тягании рыбы для конфигурации ядра не испытываю достаточно давно.
Посмотреть на причину возникновения такой коллизии можно.
Как-нибудь при случае и наличии соответствующего настроения.
:wq
--
Live free or die
Anarchist написал(а):Вы не
Возможно на некоторых ранних версиях SystemRescueCD не было /proc/config.gz, но с вероятность 99% процентов это не так, я периодически скачивал новые версии в период выхода версий начиная с первых верти 1.x.x и заканчивая поседней 2.8.0. Так же подтверждением того, что /proc/config.gz присутствовал всегда или почти всегда в ядре systemrescuecd, является то обстоятельство, что это ядро собирается из исходников gentoo-sources с наложением дополнительных патчей на основе стандартного конфига genkernel, в котором опция, отвечающая за наличие /proc/config.gz включена уже очень давно.
Следует отсюда лишь то, что вы не смогли по какой-либо причине найти /proc/config.gz или /proc/config, скорее всего из-за не правильных действий или проводили поиск не в systemrescuecd. Или всё же вам попалась некоторая версия systemrescuecd, скорее всего очень старая, или alpha, в которой не было указанного файла. В любом случае если даже была такая версия текущей версии SystemrescueCD это не соответсвует и прочим версиям, как минимум с ветки 1.x.x. до 2.8.0, так что ваше утверждение об отсутствие /proc/config.gz в ядре SystemRescueCD не верно, т.к. не соответствует текущему положение дел. Отсюда следует, что вы не правы и не хотите это признавать.
Видимо вы очень молоды, я бы даже сказал, что вы студент 1-3 курсов высшего учебного заведения.
Надо было всего лишь проверить свои слова на последней версии указанного LiveCD, т.к. как минимум наличие /proc/config.gz в этой версии уже опровергает ваши слова и как ВЗРОСЛЫЙ человек признать, что вы не правы, а не разводить здесь не нужный спор.
Он там есть и уже очень давно, как минимум, если не хотите верить на слово, в то, что был уже давно проверьте последнюю стабильную версию., это уже будет опровержением ваших слов. Если не хотите проверять, то лучше не высказывайтесь на этом либо другом форуме про SystemRescueCD, дабы не вводить в заблуждение тех, кому вы хотите помочь.
Вы сами себя им выставляете.
В SystemRescueCD всех версий, что я использовал, а их было достаточно много эта опция собирается монолитно, как и в ядре gentoo, собранном из gentoo-sources, с помощью genkernel. Я указал эту опцию, что бы указать всё и не погрешить против истины. Ну а то, что вы не хотите проверять свои слова и как следствие отвечать за них - указывает на ваш юный возраст. Когда повзрослеете - поймёте, что любое знание ценно лишь тогда, когда оно достоверно, а что бы знания были достоверны нужно их всегда обновлять и перепроверять, за каждый поступок и высказанное слово нужно держать ответ. И прочее, как бы пафасно вам это не казалось.
Мда, что с детьми делают летние каникулы.
/
LOLx1024
Чего только о себе не узнаешь...
Демонстрация Ваших застарелых комплексов?
Надо было всего лишь проверить свои слова на последней версии указанного LiveCD, т.к. как минимум наличие /proc/config.gz в этой версии уже опровергает ваши слова и как ВЗРОСЛЫЙ человек признать, что вы не правы, а не разводить здесь не нужный спор.
Прекрасная эквилибристика.
Не соблаговолите разъяснить причины, по которым для подтверждения наблюдавшегося я должен использовать последнюю версию (а не ту, в которой я это наблюдал)?
Вы сами себя им выставляете.
Ну, в ваших способностях видеть то, что вам хочется видеть (вместо того, что есть на самом деле) я и не сомневался.
Ну а то, что вы не хотите проверять свои слова и как следствие отвечать за них - указывает на ваш юный возраст. Когда повзрослеете - поймёте, что любое знание ценно лишь тогда, когда оно достоверно, а что бы знания были достоверны нужно их всегда обновлять и перепроверять, за каждый поступок и высказанное слово нужно держать ответ. И прочее, как бы пафасно вам это не казалось.
Орфографические палят ваши комплексы относительно возраста.
Касательно же прочего: вы просто ещё не сталкивались с проблемой воспроизводимости сколько-нибудь сложных случаев. Решая задачу не нахождения доказательств своей правоты, но установления истины.
Впрочем, надежда на то, что вы сможете вырасти и осознать, что жизнь к компьютерам с интернетами не сводится, у вас ещё остаётся.
Как и на то, что вы в конце концов сможете осознать как ограничения физической реализуемости (в силу ограниченности ресурсов лишь незначительную часть знаний можно перепроверить лично), так и дистанцию от просто реализации, до полного понимания принципов работы устройства.
Всегда умиляли товарищи, заменяющие вопрос о причинах того, что их знание не выдерживает независимой поверки призывами к оппоненту не верить глазам своим.
Мда, что с детьми делают летние каникулы.
Угу.
Рекомендую посмотреться в зеркало.
:wq
--
Live free or die
Цитата: как минимум наличие
Не вижу опровержения. Вижу только то, что вы пытаетесь найти себе оправдание.
По поводу второго, вам всего лишь нужно было сказать: "да я не прав, не проверил свои слова".
.
Осваиваем наваыки мышления.
В части понимания написанного оппонентом (особо одарённым подсказка: цитировались не измышлизмы, а результаты наблюдения) и не-приписывания оному собственных домыслов.
Каким образом результат наблюдения для версии А может подтвердить или опровергнуть (достоверно) наблюдавшееся в версии B?
Так что ваша реплика не содержит никакого внятного возражения. И как следствие не нуждается в опровержении. Для любого обременённого навыками понимания прочитанного.
Ставшие уже привычные призывы не верить глазам своим.
Попробуйте подумать мыслю, что не всем свойственны ваши привычки.
Лично я не люблю грузиться с LiveCD. И подтверждение/опровержение второстепенной детали не является для меня основанием бросать всй и бежать проверять.
:wq
--
Live free or die
Я так же упоминал
Я так же упоминал /proc/config, либо вы не внимательно читаете, либо просто придираетесь к словам, даже если я упомянул только /proc/config.gz, без упоминания /proc/config не существенная ошибка, к тому же проверить наличие первого или второго файла можно дополнением либо ls. Я не собираюсь в каждом ответе на сообщения упоминать и первый и второй файл, достаточно то, что он указан в моих сообщениях выше.
Зачем вы здесь тогда мне пишете противоречивые сообщения? Раз вы не отвечаете за свои утверждения cчитаю разговор можно прекращать, он уже вышел за рамки нормального конструктивного диалога.