LINUX.ORG.RU

Архитектура моего процессора


0

0

У меня каша в голове.. необходимо распутаться:

Процессор Pentium D 805 это x86_64? Я скачал установочный образ, моего дистрибутива, для этой архитектуры, он завёлся.. то есть загрузился, но я пока его не ставил.
uname -a мне показал странное а именно uniknown uniknown, там где должно быть про процессор. Сейчас это выглядит так:

~$ uname -a
Linux Panama 2.6.23.9 #1 SMP Wed Jan 2 20:49:52 UTC 2008 i686 pentium4 i386 GNU/Linux

На другом компьютере, это старый Duron, было сообщение о недостаточной адресации, только 32 бита.

Вот ключи оптимизации, которые я использую в настоящее время:
export CFLAGS="-O2 -march=i686 -pipe"
export CXXFLAGS="-O2 -march=i686 -pipe"

Вот ключи, которые предусматриваются разработчиками дистрибутива, если архитектура x86_64:

"-O2 -march=x86-64 -pipe -fPIC"

Не понятно, могу ли я пользоваться x86_64 версией дистрибутива, собирать пакеты с ключом "-O2 -march=x86-64 -pipe -fPIC"

И вот ещё, то же хотел спросить, если процессор двухядерный, при компилляции задействуются оба ядра?

★★★

Не знаю, как D805, но когда то у меня был D820 и он был 64битным. :)

>если процессор двухядерный, при компилляции задействуются оба ядра?

Да, если будешь компилить с -j2 или -j3. Можно и больше, но нет смысла.

anonymous
()

>могу ли я пользоваться x86_64 версией дистрибутива, собирать пакеты с ключом "-O2 -march=x86-64 -pipe -fPIC"

Можешь. Ещё можешь (на всякий) добавить -mtune=generic

anonymous
()

uname говрит, что у тебя стоит 32х битный дистрибутив, поэтому надо переставлять, чтоб завести 64х битность.

> И вот ещё, то же хотел спросить, если процессор двухядерный, при компилляции задействуются оба ядра?'

make -j4

Reset ★★★★★
()
Ответ на: комментарий от Reset

Хм.. неожиданно даже я рад :)

Вопрос: на сколько будет быстрей собираться? Сейчас ядро собираю в пределах 10 минут. Так будет 6?

make -j4, где про это написано?
И как сделать что бы оно всегда добавлялось?
Вот сюда можно?
export CFLAGS="-O2 -march=i686 -pipe"
export CXXFLAGS="-O2 -march=i686 -pipe"

Что вообще читать, я совсем запутался..

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

Странно что они так не спешат с 64 битными сборками.. Я так понимаю, это не очень существенно повышает производительность, по текущему состоянию дел, и все довольствуются i686? Это я имею ввиду CRUX. У уже 2.4, а 64 битная сборка только для 2.1.. :-\

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

>Может быть алиас для make прописать, в /etc/profile?

А /etc/make.conf или что-то в этом роде у тебя есть?

anonymous
()
Ответ на: комментарий от anonymous

> ничего подобного в дистре нет, есть /etc/pkgmk.conf

# cat /etc/pkgmk.conf

export CFLAGS="-O2 -march=i686 -pipe"
export CXXFLAGS="-O2 -march=i686 -pipe"

PKGMK_SOURCE_DIR="/usr/ports/distfiles"

PKGMK_PACKAGE_DIR="/usr/ports/packages"


PKGMK_WORK_DIR="/usr/ports/work/$name"
# PKGMK_DOWNLOAD="no"
PKGMK_IGNORE_FOOTPRINT="yes"
# PKGMK_NO_STRIP="no"

# End of file

baaba ★★★
() автор топика
Ответ на: комментарий от sdio

Мне важно понять, alias make='make -j4', работать не будет, да?

>export MAKE='make -j4'

Пропишу это в профайл, /etc/profile

И попробую собрать ядро. Обычно это занимает около 10 мин.

baaba ★★★
() автор топика
Ответ на: комментарий от sdio

>export MAKE='make -j4'

Почему MAKE большими буквами?
У меня echo $MAKE ничего сейчас не даёт, такой переменной не было.. прописываю, пробую вобщем

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

Что то ему не нравицо..

make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.

baaba ★★★
() автор топика

> Процессор Pentium D 805 это x86_64?

if ( grep lm /proc/cpuinfo|grep flags>/dev/null 2>&1 ); then echo "em64t or amd64 is present"; fi

Deleted
()
Ответ на: комментарий от baaba

из документации ядра:

The next time you compile the kernel, when running a SMP kernel,
edit linux/Makefile and change "MAKE=make" to "MAKE=make -jN"
(where N = number of CPU + 1, or if you have tons of memory/swap
you can just use "-j" without a number). Feel free to experiment
with this one.

alex_custov ★★★★★
()
Ответ на: комментарий от alex_custov

time make -j4 all

Kernel: arch/i386/boot/bzImage is ready (#1)

real 6m10.398s
user 10m26.495s
sys 1m12.977s

ыы :-D, сработало, раньше девять с копейками было.. я доволен как слон!

baaba ★★★
() автор топика
Ответ на: комментарий от alex_custov

>из документации ядра:

>The next time you compile the kernel, when running a SMP kernel,
edit linux/Makefile and change "MAKE=make" to "MAKE=make -jN"
(where N = number of CPU + 1, or if you have tons of memory/swap
you can just use "-j" without a number). Feel free to experiment
with this one.

Ну и где же это?

# grep -R MAKE=make ./*
./Documentation/smp.txt:edit linux/Makefile and change "MAKE=make" to "MAKE=make -jN"
root@Panama:/usr/src/linux-2.6.23.9# ls linux/Makefile
ls: cannot access linux/Makefile: No such file or directory

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

подозреваю имеется ввиду
/usr/src/linux-2.6.23.9/Makefile

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.