LINUX.ORG.RU

Избранные сообщения Suigintou

BFQ не очень хорош для многих SSD

Форум — Linux-hardware

Public Service Announcement:

Случайно обнаружил, что bfq на многих ssd сводит производительность к однопоточной.
На nvme и sata Samsung’ах всё в порядке, и пропускная способность bfq растёт с количеством одновременных запросов.
А на ADATA и Transcend вот так:

    Device Model:     TS256GMTS400S
    Serial Number:    0F109200E32506200140
    Firmware Version: P1225CH4
    ATA Version is:   ACS-2 (minor revision not indicated)
    SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
    Timing O_DIRECT disk reads: 1472 MB in  3.00 seconds = 489.96 MB/sec

    /dev/sda, 256.06 GB, 1 threads:
     512   B blocks: 11361.3 IO/s,   5.5 MiB/s ( 46.5 Mbit/s)
       1 KiB blocks: 7762.1 IO/s,   7.6 MiB/s ( 63.6 Mbit/s)
       2 KiB blocks: 4545.7 IO/s,   8.9 MiB/s ( 74.5 Mbit/s)
       4 KiB blocks: 2476.4 IO/s,   9.7 MiB/s ( 81.1 Mbit/s)
       8 KiB blocks: 2483.9 IO/s,  19.4 MiB/s (162.8 Mbit/s)
      16 KiB blocks: 2271.1 IO/s,  35.5 MiB/s (297.7 Mbit/s)
      32 KiB blocks: 1941.6 IO/s,  60.7 MiB/s (509.0 Mbit/s)
      64 KiB blocks: 1360.1 IO/s,  85.0 MiB/s (713.1 Mbit/s)
     128 KiB blocks:  968.5 IO/s, 121.1 MiB/s (  1.0 Gbit/s)

    /dev/sda, 256.06 GB, 4 threads:
     512   B blocks: 12958.1 IO/s,   6.3 MiB/s ( 53.1 Mbit/s)
       1 KiB blocks: 8832.4 IO/s,   8.6 MiB/s ( 72.4 Mbit/s)
       2 KiB blocks: 4945.6 IO/s,   9.7 MiB/s ( 81.0 Mbit/s)
       4 KiB blocks: 2598.6 IO/s,  10.2 MiB/s ( 85.2 Mbit/s)
       8 KiB blocks: 2553.3 IO/s,  19.9 MiB/s (167.3 Mbit/s)
      16 KiB blocks: 2410.9 IO/s,  37.7 MiB/s (316.0 Mbit/s)
      32 KiB blocks: 2089.0 IO/s,  65.3 MiB/s (547.6 Mbit/s)
      64 KiB blocks: 1463.4 IO/s,  91.5 MiB/s (767.2 Mbit/s)
     128 KiB blocks: 1056.8 IO/s, 132.1 MiB/s (  1.1 Gbit/s)

Этот же Transcend, но с mq-deadline:

/dev/sda, 256.06 GB, 4 threads:
 512   B blocks: 42803.6 IO/s,  20.9 MiB/s (175.3 Mbit/s)
   1 KiB blocks: 34526.3 IO/s,  33.7 MiB/s (282.8 Mbit/s)
   2 KiB blocks: 24795.4 IO/s,  48.4 MiB/s (406.2 Mbit/s)
   4 KiB blocks: 15848.5 IO/s,  61.9 MiB/s (519.3 Mbit/s)
   8 KiB blocks: 15403.9 IO/s, 120.3 MiB/s (  1.0 Gbit/s)
  16 KiB blocks: 9705.9 IO/s, 151.7 MiB/s (  1.3 Gbit/s)
  32 KiB blocks: 5583.4 IO/s, 174.5 MiB/s (  1.5 Gbit/s)
  64 KiB blocks: 2967.9 IO/s, 185.5 MiB/s (  1.6 Gbit/s)
 128 KiB blocks: 1666.6 IO/s, 208.3 MiB/s (  1.7 Gbit/s)

Если у вас не Самсунг, то bfq лучше не использовать.

P.S. Ещё едет терабайтный WD Blue, дополню позже.
P.P.S. Linux lin 5.10.0-0.bpo.5-amd64 #1 SMP Debian 5.10.24-1~bpo10+1 (2021-03-29) x86_64 GNU/Linux

 , , ,

aidaho ()

smr hdd

Форум — Linux-hardware

Здравствуйте. Если я буду покупать hdd 500гб будет ли вероятность нарваться на черепичную структуру диска? Можно ли по внешним параметрам угадать тип записи?

 

i3344 ()

[SOLVED] S3 Savage + DRI

Форум — Linux-hardware

Добрый день. Пытаюсь запустить X с аппаратным ускорением на Debian (buster) kernel 4.19.0-11-686-pae.

lspci | grep VGA
01:00.0 VGA compatible controller: S3 Grphics Ltd. 86C380 [ProSavageDDR K4M266]

Установил пакет xserver-xorg-video-savage

Сгенерировал xorg.conf с помощью «X -configure» (в разделе Device стоит Driver «savage»)

В секции Screen добавил DefaultDepth 16, якобы direct render на Savage запускается только с 16bit-ным цветом.

При запуске xstart в логах отображается:

SAVAGE(0): Sufficient Videoram available for 3D
SAVAGE(0): DRI isn't enabled
....
Initializing extension GLX
AIGLX: Screen 0 is not DRI2 capable
IGLX: Loaded and initialized swrast
GLS: Initialized DRISWRAST GL proviider for screen0

т.е. видно что используется софтовый рендер. X-ы запускаются glxgears -fullscreen выдает fps 5

После безрезультатных игр с параметрами в секции Device (xorg.conf), решил посмотреть исходники DRV модуля savage.

apt xserver-xorg-video-savage...

Понатыкал отладочных сообщение в savage_driver.c в функции SavageScreenInit (та в свою очередь вызывает SAVAGEDRIScreenInit) и в savage_dri.c функции SAVAGEDRIScreenInit.

Оказалось что в SAVAGEDRIScreenInit, есть проверка:

xf86LoaderCheckSymbol("GlxSetVisualConfigs")

В случае если функция xf86LoaderCheckSymbol возвращает false то SAVAGEDRIScreenInit так же возвращет false, а это в своей очереди указывает в SavageScreenInit что DRI не инициализировался (SAVAGE(0): DRI isn’t enabled).

Причем после проверки xf86LoaderCheckSymbol в коде нету отладочных сообщение, т.е. в логах этого нельзя увидеть.

Поиски показали что вроде как GlxSetVisualConfigs удалили из свежих xorg https://www.mail-archive.com/xorg-devel@lists.x.org/msg53329.html

Закомментировал эту проверку в коде, собрал savage_drv.so заново заменил в модулях xorg

Теперь при старте в логах xorg вот что:

...
[   101.604] (II) SAVAGE(0): psav->NoAccel=false
[   101.604] (II) SAVAGE(0): psav->Chipset is S3_TWISTER true
[   101.604] (II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 32768 kB of Videoram available
[   101.604] (II) SAVAGE(0): Sufficient Videoram available for 3D
[   101.604] (II) SAVAGE(0): Goal #1
[   101.604] (EE) SAVAGE(0): can't load GlxSetVisualConfigs
[   101.609] (II) SAVAGE(0): [drm] bpp: 16 depth: 16
[   101.609] (II) SAVAGE(0): [drm] Sarea 2200+284: 2484
[   101.610] drmOpenDevice: node name is /dev/dri/card0
[   101.616] drmOpenDevice: node name is /dev/dri/card0
[   101.812] drmOpenByBusid: Searching for BusID pci:0000:01:00.0
[   101.812] drmOpenDevice: node name is /dev/dri/card0
[   101.813] drmOpenDevice: open result is 14, (OK)
[   101.814] drmOpenByBusid: drmOpenMinor returns 14
[   101.814] drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
[   101.814] (II) [drm] loaded kernel module for "savage" driver.
[   101.814] (II) [drm] DRM interface version 1.4
[   101.815] (II) [drm] DRM open master succeeded.
[   101.816] (II) SAVAGE(0): [drm] Using the DRM lock SAREA also for drawables.
[   101.816] (II) SAVAGE(0): [drm] framebuffer handle = 0xd0000000
[   101.816] (II) SAVAGE(0): [drm] added 1 reserved context for kernel
[   101.816] (II) SAVAGE(0): X context handle = 0x1
[   101.816] (EE) SAVAGE(0): [drm] failed to setup DRM signal handler
[   101.816] (EE) SAVAGE(0): [drm] DRIScreenInit failed.  Disabling DRI.
[   101.816] (II) SAVAGE(0): SAVAGEDRIScreeInit return false
[   101.816] (II) SAVAGE(0): psav->ShadowStatus == psav->ConfigShadowStatus = true
[   101.816] (EE) SAVAGE(0): DRI isn't enabled
[   102.018] (II) EXA(0): Offscreen pixmap area of 29749248 bytes
[   102.018] (II) EXA(0): Driver registered support for the following operations:
[   102.018] (II)         Solid
[   102.018] (II)         Copy
[   102.018] (II)         UploadToScreen
[   102.018] (II) SAVAGE(0): Savage EXA Acceleration enabled.
[   102.018] (==) SAVAGE(0): Backing store enabled
[   102.026] (==) SAVAGE(0): DPMS enabled
[   102.026] (WW) SAVAGE(0): Direct rendering disabled
....
[   102.065] (II) SELinux: Disabled on system
[   102.065] (II) Initializing extension GLX
[   102.067] (II) AIGLX: Screen 0 is not DRI2 capable
[   103.315] (II) IGLX: Loaded and initialized swrast
[   103.315] (II) GLX: Initialized DRISWRAST GL provider for screen 0
....
[   104.207] (EE) Backtrace:
[   104.209] (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x122) [0x5cd122]
[   104.212] (EE) 1: linux-gate.so.1 (?+0x0) [0xb7f37d77]
[   104.216] (EE) 2: ? (?+0x0) [0xc0000000]
[   104.217] (EE) unw_step failed: unspecified (general) error [-1]
[   104.217] (EE) 
[   104.217] (EE) Segmentation fault at address 0xc0000000
[   104.218] (EE) 
Fatal server error:
[   104.218] (EE) Caught signal 11 (Segmentation fault). Server aborting
[   104.218] (EE) 
[   104.218] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[   104.218] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   104.218] (EE) 
[   104.504] (EE) Server terminated with error (1). Closing log file.

X-ы не запускаются.

lsmod | grep savage:
savage	32768	0
drm	323584	2	savage

[drm] failed to setup DRM signal handler - что этот за ерунда !?!?!

Может кто подскажет куда дальне копать ?

 , , ,

chjohn ()

Жизнь на лодке для IT-шника

Форум — Talks

В поисках решения проблемы бытия случайно набрёл на людей, которые живут на лодках (яхтах) и это мне показалось довольно любопытным вариантом дауншифтинга. Суть такая - покупаешь б/у лодку 8-12 метров и живёшь в ней, плавая по свету: страны средиземного моря, канары, страны карибского моря, можно кругосветку совершить, или просто по атлантическому океану плавать плавать, или на зиму где-нибудь в марине средиземного моря зимовать.

Расценки - порядка $30-$100k в зависимости от размера, года, состояния лодки. За стоянку в марине примерно $10 в день, оптом - дешевле. Топлива нужно не много, т.к. парус. Ремонт и прочее - непредсказуемо, в целом, как я понял, в $1000 в месяц люди укладываются. Т.е. по сути стоимость вполне сопоставима со стоимостью аренды жилья в большом городе и зарплаты в $2-3k хватит с лихвой.

Основная проблема долгих переходов - ночные вахты, на них желательно хотя бы пара человек на лодке. Хотя современные технические средства вроде радара, эхолота, AIS и здравый смысл (плавать в стороне от судоходных путей) вроде как уменьшают шанс аварии. Но в принципе в обжитых регионах марин очень много и долгие переходы практически не нужны, только через океан. Если есть супруг или готовность искать попутчиков - проблема исчезает.

Интернет в маринах бесплатный или дёшевый (WiFi, Cellular). В море только дорогой спутниковый. Поэтому характер работы, вероятно, должен быть не требовательным к постоянному онлайну.

Ну из рисков понятно - можно тупо попасть в шторм и утонуть или разбиться о камни. Или спастись, но остаться без лодки и всего, что на ней было, что более вероятно, но всё же довольно неприятно.

Из плюсов - это интересно и можно побывать в огромном множестве мест, причём в своём темпе, никуда не спеша.

Интересно, кто-нибудь таким занимался? Или хотя бы обдумывал?

 ,

Legioner ()

Зачем в 2020 нужны отдельные багтрекеры?

Форум — Talks

Привет, ЛОР!

Поделюсь своей историей. Я вот сейчас по утру, кушая салатик на веранде симпатичного кафе, запивая это дело сангрией и откровенно пялясь на задницу официантки, которая мне это всё принесла, случайно нашёл баг в плеере Audacious. Баг не то чтобы очень критичный, но подбешивает. Решил я его зарепортить, только чтобы уткнуться в отключённые Issues на гитхабе у Audacious. На сайте плеера же ссылка на багтрекер ведёт в их Redmine, в котором надо регистрироваться. На этом я решил забить.

Вот скажи, ЛОР, зачем так делать и создавать лишние препятствия на пути пользователям, которые хотят зарепортить баг? Почему нельзя просто использовать Github, на котором почти у каждого пользователя Linux сейчас есть аккаунт? На крайняк, можно SSO приделать к своему сервису.

Алсо, ЛОР, пока лето не кончилось, накидай своих любимых рецептов холодных не слишком крепких коктейлей. Хочу вечеринку устроить.

P.S. Кстати, а тут есть разработчики Audacious? Я на Github вроде русскоязычных видел.

 , ,

hateyoufeel ()

Сборка ПК для игр и работы.

Форум — Linux-hardware

Решил собрать ПК для игр и работы. Из работы самое тяжелое что на нем будет производится это разработка под android.

Комплектующие:

  • Материнская плата ASUS STRIX B450-E GAMING - $173
  • Процессор AMD Ryzen 5 3600Х Box - $237
  • Видеокарта INNO3D GTX1660 SUPER 6GB 192Bit 1785/14000Mhz - $277
  • Модуль памяти KINGSTON HyperX Predator RGB DDR4 3200Mhz 8GBx2 - $125
  • Блок питания CHIEFTEC 750W CPS-750S - $68
  • SSD накопитель SAMSUNG 860 QVO 1TB SATAIII 3D NAND QLC - $133

Мне хотелось бы Intel, но цены уж сильно кусаются.
При выборе материнской платы, искал с WIFI и BT.
Думаю SSD можно было бы заменить на M.2.

Нормальные ли комплектующие?
Хорошо будут ли они между собой сочетаться?
Как дела обстоят с дровами под nvidia, буду использовать archlinux?
Возможно вы подскажите что-то лучшее при этом эквивалентно в цене или дешевле

Надеюсь на объективную критику и помощь.
Заранее всем спасибо

 , , , ,

oster2011 ()

Альтернатива self-hosted gitlab

Форум — Development

Привет, ЛОР.

Есть какая-то альтернатива self-hosted gitlab'у для нетребовательной команды из пары разработчиков?

Из требований только кастомизируемый веб-интерфейс к DVCS с возможностью скачать/просмотреть.

Gitlab ОЧЕНЬ жирный.

Git не принципиален, можно hg.

 

annerleen ()

x11vnc ошибка.

Форум — Desktop

kubuntu 16.04 x11vnc Architecture: amd64 Version: 0.9.13-1.2build1

Подключение происходит нормально, но если переключить пару окон, то вываливается ошибка:
07/01/2017 16:18:39 cursor_noshape_updates_clients: 0 caught XIO error: 07/01/2017 16:18:41 deleted 43 tile_row polling images.

 , , ,

vladcraft ()

Выбор ups

Форум — Linux-hardware

Взываю к опыту коллективного разума ЛОРа. Собрался покупать ups. Не знаю что выбрать. В местном инет магазине продаются ибп фирмы svc, volta, apc .

  • VOLTA Active 1200 LCD
  • SVC V1200-F
  • SVC PT-1K-LCD
  • APC Back BX1400UI

Первые два дешевые, но никому не известные. В инете о них мало информаций. Третий по списку онлайн (в инете пишут что онлайн лучше чем офлайновые). Apc наверное самый известный но и цена на него выше. Смотрел в computer universe цены на ибп , даже с доставкой у них стоимость гораздо меньше. Какую модель выбрать и где покупать : здесь или в computer universe. Поделитесь своим опытом эксплутаций ибп.

 

psiman ()

Cairo, WebKit, а что ещё?

Форум — Talks

Есть открыто-свободные браузеры, использующие движок CairoGeckocairo: Firefox, Seamonkey... (Не уверен, есть ли живые кроме них, но были, и могут появиться в будущем.)

Есть открыто-свободные браузеры, использующие движок WebKitWebCore, который в WebKit и его форк Blink: Chromium, Epiphany, Midori, qutebrowser, reconq, surf, vimb. Или под Линуксом у них тоже внутри cairo?

А другие движки сопоставимого уровня существуют? Живые?

P.S. В первом варианте смешал в кучу Cairo и WebKit. Спрашиваю именно по библиотекам для преобразования текста, SVG и прочего в графику, а не по всеобъемлющим браузерным движкам.

 , , , ,

question4 ()

Qt Creator и микроконтроллеры

Форум — Development

Хочу попробовать использовать Qt Creator (всё же это очень хорошая IDE) для разработки под микроконтроллеры, такие как AVR и MSP430.

UPD: С помощью CMake всё получилось. Сейчас CMakeLists.txt в Qt Creator выглядит так:

project(test)
SET(MCU "msp430f5529")
SET(FIRMWARE_FILE ${PROJECT_NAME}.elf)

SET(CMAKE_SYSTEM_NAME Generic)
SET(CMAKE_C_COMPILER msp430-elf-gcc)
SET(CMAKE_CXX_COMPILER msp430-elf-g++)

SET(CMAKE_C_FLAGS "-mmcu=${MCU} -Os")
SET(CMAKE_C_LINK_FLAGS "")
SET(CMAKE_CXX_FLAGS "-mmcu=${MCU} -Os")
SET(CMAKE_CXX_LINK_FLAGS "")
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)

INCLUDE_DIRECTORIES("/opt/ti/mspgcc/msp430-elf/include")

cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${FIRMWARE_FILE} ${SRC_LIST})

add_custom_target("upload"
	mspdebug tilib "prog ${FIRMWARE_FILE}"
	DEPENDS ${FIRMWARE_FILE}
	COMMENT "Uploading ${FIRMWARE_FILE} to ${MCU} using mspdebug"
)

make upload выполняется на шаге деплоймента, так что нажав «Запустить» в IDE я прошиваю микроконтроллер.

Теперь новый вопрос:

Можно ли прикрутить отладку? mspdebug умеет запускаться в режиме gdb-сервера, надо только заставить Qt Creator при старте отладки выполнять команду «mspdebug tilib gdb», а потом подключаться к GDB на локальном порту 2000.

 , , , ,

KivApple ()

Кроссворд

Форум — Talks
ruoxid_agilobetov ()

Интернет магазин радиодеталей

Форум — Talks

Где можно заказать радиодеталей, что бы цена за доставку была не бешеной, и чтобы товаров было побольше, и самое важно что бы качественные были. Конденсаторы надо на 10нФ заказать, в городе нету, с ибея и али долго ждать.

Martin256 ()

Астрономия для^W девочек

Форум — Talks

http://rbs-vader.livejournal.com/247909.html

Комиксы не цитируются, такшта Ъ сосут.

hizel ()

Снова сairo-dock и conky

Галерея — Скриншоты

Со сменой железа появился повод поковырять привычное окружение. Процесс сильно растянулся по времени и в конце концов привел к такому результату.

Скриншот с окнами.

Cairo-dock. Привел к более однообразному виду. Трей отправился в субдок, на его месте монитор ресурсов. Таскбар теперь тоже частично стилизован под текст.

Conky. Открыл для себя, что коньки умеют lua+cairo. Круто конечно, можно пилить нескучные индикаторы с помощью cairo, а полноценный скриптовый язык вместо местами довольно унылой разметки коньков - вообще песня. Конькам можно придать абсолютно произвольный вид, без всяких оговорок.

В остальном с прошлого раза мало что изменилось

  • GTK - Boje
  • ШГ - Play
  • Иконки - ACYL

Еще вариант в «теплых ламповых» цветах: раз, два.

Если кому интересно взглянуть на скрипт для коньков, то вот.

>>> Просмотр (1920x1080, 166 Kb)

 , ,

Worron ()

Советы по кодстайлу с++

Форум — Talks

http://habrahabr.ru/post/172091/ Для Ъ:

Петросянские и не очень советы по код-стайлу на С++

Самый петросянский совет:

58. Следует избегать использования break и continue в циклах.

Такие выражения следует использовать только тогда, когда они повышают читаемость.

 ,

Dudraug ()

QT C++ объявление объектов

Форум — Development

Либо я совсем дурак,либо у QT какйто свой C++

QObject *a[3];
if(a[0]){....код...}

Если объект не объявлен то [код] не выполняется,логично.

QObject *a[3];
a[0]=new QObject();
if(a[0]){....код...}

Тут [код] выполняется.

Если объявить QObject *a[3]; в заголовочном файле То if(a[0]) всегда будет true,т.е. почемуто считается что объект объявлен?

НО Если объявить в заголовочном файле QObject *a; И проверить if(a){....код...} Будет ВЕРНО(т.е. отвечать false если не объявлен) работать,ПОЧЕМУ?

Конечно есть вариант что я забыл/недоучил С++

Также добавлю-у меня пол программы щас отвалилось из-за этого,причем qt я не обновлял,обновил только gcc,и старый бинарник работает,а новый компилируется и падает. Что за магия такая?

Спасибо за помощь.

 ,

tester9999 ()

Управление пакетами MS-style. Просто нажмите Enter.

Форум — Talks

На сайте MS лежит мануал, как ставить 2008 сервер без графической оболочки: http://technet.microsoft.com/en-us/library/ee441260(v=ws.10).aspx

Для Ъ:

To install the Web Server role

    For the default installation, type the following at a command prompt and press ENTER:

    start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-FTPPublishingService;IIS-FTPServer;WAS-WindowsActivationService;WAS-ProcessModel

Про зависимости между пакетами в MS еще не слышали. Про автоматизацию типовых действий через sh bat-файлы, видимо, тоже.

// Вспоминается боянистая шутка о том, что для установки генту надо ввести 3 команды.

 

geekless ()

Идентифицирован регион, ответственный за самосознание

Форум — Talks

Им оказался регион TPJ (temporo-parietal junction), критический за субъективное чувство локализации в пространстве и восприятия мира именно из этой точки пространства. Аномалии в деятельности этого региона - приводят к ощущению «отрыва от тела», «парения над телом» и всякое подобное.
Эксперименты проводились над здоровыми людьми и активность в регионе соответствовала изменению восприятия людей, вызываемых экспериментально. И наоборот - люди у которых были нарушено чуство локализации и присутствовал опыт «парения над телом» (нейрологические пациенты) - имели мозговые повреждения именно в TPJ.
Результаты учёные Швейцарии опубликовали сегодня в статье журнала «Neuron».

http://www.sciencedaily.com/releases/2011/04/110427131818.htm

siberean ()