haiku-os@conference.jabber.ru - 2012/05/30

00:03:24 Пользователи: Diver_, Flаmе, Nico-izo, Ботиха, Зелёновый (5)

00:03:24 Yehoshua' установил(а) тему: Сайт проекта: http://www.haiku-os.org
Haiku OS R1/alpha 3: http://www.haiku-os.org/get-haiku
Сайт сообщества: http://qube.ru/
BeShare: siarzhuk.dyndns.org
Логи конференции: http://siarzhuk.dyndns.org/haiku-os.logs
ВНИМАНИЕ: Для получения статуса "Участник" перешлите Вашу просьбу модераторам [как приватное сообщение].

00:03:24 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

00:03:32 Flаmе теперь xa [30] (Автостатус (неактивен))

00:04:30 Nico-izo теперь online [15]

00:04:42 Diver_ теперь away [5] (Auto Status (idle))

00:21:38 Diver_ теперь online [5]

00:27:47 Flаmе теперь online [50]

00:35:49 Flаmе теперь away [40] (Автостатус (неактивен))

00:45:49 Flаmе теперь xa [30] (Автостатус (неактивен))

00:51:47 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

00:52:39 Nico-izo теперь online [15]

01:02:53 Diver_ теперь away [5] (Auto Status (idle))

01:12:10 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

01:12:33 Nico-izo теперь online [15]

01:17:40 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

01:22:40 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

01:22:47 Nico-izo теперь online [15]

01:22:53 Diver_ теперь xa [5] (Auto Status (idle))

01:32:23 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

01:37:22 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

01:37:28 Nico-izo теперь online [15]

01:42:33 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

01:47:34 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

01:47:40 Nico-izo теперь online [15]

01:53:22 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

01:58:42 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

02:05:29 Nico-izo вышел

02:15:24 Flаmе вышел

02:58:53 knorr зашел как постоянный участник online [1]

03:08:17 knorr теперь away [0] (Прямо сейчас меня здесь нет)

03:21:52 Nico-izo зашел как постоянный участник away [15] (Меня нет тут уже 5 минут (И что?))

03:23:29 knorr теперь online [1]

03:26:52 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

03:55:23 Зелёновый теперь online [30]

04:01:59 knorr теперь away [0] (Прямо сейчас меня здесь нет)

04:04:10 knorr теперь online [1]

05:03:12 Flаmе зашел как модератор и администратор xa [30]

05:12:43 Зелёновый теперь away [30]

05:19:15 Зелёновый теперь online [30]

05:20:38 diGer зашел как модератор и администратор online [2]

05:25:41 knorr теперь away [0] (Прямо сейчас меня здесь нет)

05:33:54 knorr теперь online [1]

05:34:21 Зелёновый теперь away [30]

05:36:12 Зелёновый теперь online [30]

05:37:07 knorr вышел

06:13:28 siaržuk зашел как владелец конференции online [5]

06:32:17 siaržuk теперь away [5] (Кто все эти люди? 8-( ))

06:42:55 Зелёновый теперь away [30]

06:44:04 Alex11223 зашел как постоянный участник online [5]

06:52:21 siaržuk теперь xa [5] (Кто все эти люди? 8-( ))

06:56:06 siaržuk теперь online [5]

07:03:01 Зелёновый теперь xa [30]

07:10:12 siaržuk вышел

07:29:33 Зелёновый теперь online [30]

07:46:38 diGer вышел

07:58:27 Зелёновый теперь away [30]

08:02:49 Flаmе вышел

08:12:47 siaržuk зашел как владелец конференции online [5]

08:13:17 diGer зашел как модератор и администратор online [50]

08:18:29 Зелёновый теперь xa [30]

08:34:42 Зелёновый теперь online [30]

08:50:58 diGer теперь away [40] (Auto Status (idle))

08:52:01 diGer теперь online [50]

09:26:58 Зелёновый теперь away [30]

09:46:59 Зелёновый теперь xa [30]

10:14:29 knorr зашел как постоянный участник online [1]

10:21:19 Diver_ теперь online [5]

10:29:25 Спектр зашел как постоянный участник online [0] (Dakota)

10:48:16 knorr теперь away [0] (Прямо сейчас меня здесь нет)

10:48:20 knorr теперь online [1]

10:53:31 Зелёновый теперь online [30]

10:55:26 diGer теперь away [40] (Auto Status (idle))

10:56:25 diGer теперь online [50]

10:56:34 knorr теперь away [0] (Прямо сейчас меня здесь нет)

11:13:44 diGer теперь away [40] (Auto Status (idle))

11:20:34 diGer теперь online [50]

11:33:26 diGer: http://imglink.ru/pictures/30-05-12/6a9c7de57667ab42e7650d74ebb09d3f.jpg

11:35:19 siaržuk: Diver_: Зелёновый: Я счетаю diGer-а надо наградить гайко-майкой!

11:35:33 siaržuk: ну т.е. гайко-фуфайкой

11:35:41 diGer: фуфлайкой

11:35:46 diGer: не я же проги пишу

11:36:14 siaržuk: ты уровнем выше этих программирующих червей - несёшь их жалкий труд людям

11:36:34 Flаmе зашел как модератор и администратор xa [30]

11:37:07 diGer: чувак редактор дальше развивает, глядишь и форматирование поддерживать будет

11:37:11 siaržuk: я тут подумываю себе гайко-фуфайку взять - а то от коммунити нонче дуля с маслом дождёшься....

11:37:24 Зелёновый: гайкоскафандром )

11:37:26 Flаmе теперь online [50]

11:37:43 siaržuk: Зелёновый: а ты уже небось гайко-фуфайку до дыр заносил?

11:37:46 diGer: Зелёновый: редактор по твоему заказу сделал :) уже работает

11:38:24 Зелёновый: siaržuk: пару раз тока одевал )

11:38:27 diGer: http://imglink.ru/pictures/30-05-12/5721116b68bee6fd7675b6551f9c5e09.jpg

11:38:51 Зелёновый: но diGer да, маладес хуле тут спорить )

11:39:12 diGer: редактор ваще четкий, на скинтинелле робит

11:43:36 Flаmе теперь away [40] (Автостатус (неактивен))

11:43:51 siaržuk: Короче, я серьёзно - беру вот такую себе. http://www.cafepress.de/haiku_os.295451384. Чоткая майка, Зелёновый подтвердит, сам щупал, в Гондурасе пошитая. diGer: не замёрзнешь? Размер какой у тебя?

11:44:34 diGer: 52-54

11:44:45 diGer: я хз как в иксикселях

11:47:02 Flаmе теперь online [50]

11:49:27 Diver_: siaržuk: а если я http://dev.haiku-os.org/attachment/ticket/5146/get_pci_nth.patch применю, скомпилю libroot.so и подкину его в папку с бирометром, то теоретически можно будет в ночниках юзать такой финт?

11:50:54 siaržuk: тоже думал об этом вчера, но думаю оно и остальной хлам из либрута будет пытаться в твоей заглушке искать.

11:51:25 siaržuk: максимум что придется всё ему нужное тоже пробрасывать через твою заглушку

11:51:36 siaržuk: 52-54 это сколько в икселях?

11:52:02 Flаmе теперь away [40] (Автостатус (неактивен))

11:54:52 Зелёновый теперь away [30]

11:56:11 siaržuk: Diver_: Зелёновый: Flаmе: помошь клуба - как размер рубашки 52-54 пересчитать в L-ки?

11:56:47 Diver_: от страны зависит

11:57:04 siaržuk: Гондурас

11:57:09 siaržuk: Ну т.е. УСА

11:58:12 Diver_: siaržuk: берометр запускается, но падает после запуска тестирования
http://imagebin.org/index.php?mode=image&id=214443

11:58:37 siaržuk ржот под столом

11:58:47 diGer теперь away [40] (Auto Status (idle))

11:58:50 siaržuk: ты что крысенковский "патч" приложил что-ли?

11:59:14 Diver_: да

11:59:34 siaržuk: он там обращается к неициализированному указателю - он и не может работать

12:00:09 siaržuk: хотя тот факт, что оно не требует другой стафф из libroot уже радует

12:00:11 Diver_: как пофиксить?

12:00:13 Flаmе теперь online [50]

12:00:28 Diver_: но графика тестируется

12:00:49 Diver_: полигоны рисует щас яростно

12:00:52 siaržuk: надо сам знаешь куда смотреть - вечером если только

12:01:10 Diver_: мля, и по завершении тестирования упал

12:01:29 Diver_: в том же месте

12:01:55 Diver_: короче падает при выводе результатов

12:02:02 Diver_: при любом тесте

12:02:21 diGer теперь online [50]

12:02:24 Diver_: diff --git a/src/system/libroot/os/arch/x86/compatibility.c b/src/system/libroot/os/arch/x86/compatibility.c
index 6ba9fec..8771fec 100644
--- a/src/system/libroot/os/arch/x86/compatibility.c
+++ b/src/system/libroot/os/arch/x86/compatibility.c
@@ -13,6 +13,7 @@
#include <errno_private.h>
#include <fs_info.h>
#include <fs_volume.h>
+#include <PCI.h>

#include <syscalls.h>

@@ -27,6 +28,7 @@ int _kstatfs_(dev_t device, void *whatever, int fd, const char *path, fs_info *i
int mount(const char *filesystem, const char *where, const char *device, ulong flags,
void *parms, int len);
int unmount(const char *path);
+long get_nth_pci_info(long index, pci_info *info);


int
@@ -143,3 +145,12 @@ unmount(const char *path)
return 0;
}

+long get_nth_pci_info(long index,pci_info *info)
+{
+ pci_module_info *mod_info;
+ if(mod_info->get_nth_pci_info(index,info))
+ return B_NO_ERROR;
+ else
+ return B_ERROR;
+}
+

12:02:56 Зелёновый теперь online [30]

12:04:12 Diver_: diGer: https://github.com/axeld/driveencryption не хочешь собрать?

12:04:39 diGer: некогда

12:05:23 diGer: прикинь, редактор который с утреца собрал открывает HEX, DOC, ODT,
DOCX, RTF, SLA, KWD ABW, SXW

12:06:09 Diver_: а форматирование тоже восстанавливает?

12:06:15 siaržuk: pci_module_info *mod_info; - как думаешь что будет в этой переменной?

12:06:17 Diver_: или как antiword

12:06:29 Diver_: siaržuk: ты меня спрашиваешь?

12:06:33 siaržuk: я и в том тикете написал уже что это мусор

12:06:39 siaržuk: тебя-тебя

12:06:48 diGer: нет, форматирование пока не умеет, но чувак работает над этим

12:06:59 siaržuk: раз ты уж эту каку сюда притащил - теперь думай. ;)

12:07:12 Diver_: хз я в этом не шарю

12:08:34 siaržuk: diGer: Виталий, ви таки посмотрице на этого деятеля! Нет ви таки посмотрице на него внимательно! Он не шарит! ;-)

12:08:54 diGer: да бить его давно пора

12:08:57 siaržuk: Diver_: вечером гляну что "там" по этому поводу.

12:09:11 diGer: :-D

12:09:13 siaržuk: нееет! его не бить - его учить надо!

12:09:25 diGer: ну эт огде-то рядом

12:37:38 diGer теперь away [40] (Auto Status (idle))

12:41:29 Зелёновый теперь away [30]

12:48:56 Спектр вышел (Logged out)

12:51:14 Зелёновый теперь online [30]

12:55:13 siaržuk: Diver_: в беосине это в pci модуле живёт, попробуй вариант такой:

+long get_nth_pci_info(long index,pci_info *info)
+{
+ pci_module_info *mod_info;

if (get_module(B_PCI_MODULE_NAME, (module_info **)&mod_info) != B_OK)
return B_ERROR;

status_t result = B_ERROR;

+ if(mod_info->get_nth_pci_info(index,info))
+ result = B_NO_ERROR;

put_module(B_PCI_MODULE_NAME);

+
+ return result;
+}
+

12:57:05 siaržuk: так чего там с пересчётом размеров 52-54 в северо-американские?

12:57:37 diGer теперь xa [30] (Auto Status (idle))

13:00:13 Diver_: это что за дифф?

13:00:23 Diver_: его в каком контексте применять?

13:02:49 Alex11223 теперь away [5] (Автостатус (неактивен))

13:03:01 Зелёновый теперь away [30]

13:04:00 diGer теперь online [50]

13:04:01 diGer вышел

13:04:36 Diver_: siaržuk: ?

13:05:29 Alex11223 теперь online [5]

13:07:38 Flаmе теперь away [40] (Автостатус (неактивен))

13:10:06 siaržuk теперь away [5] (Соўгаюся недзе паблізу...)

13:16:55 Nico-izo теперь online [15]

13:17:38 Flаmе теперь xa [30] (Автостатус (неактивен))

13:23:01 Зелёновый теперь xa [30]

13:24:13 Nico-izo вышел

13:28:11 Flаmе теперь online [50]

13:29:46 Nico-izo зашел как постоянный участник online [15]

13:30:05 siaržuk теперь xa [5] (Соўгаюся недзе паблізу...)

13:31:07 siaržuk теперь online [5]

13:31:31 siaržuk: это не диф а руководство к действию

13:31:54 siaržuk: ручками набей добавления

13:32:15 siaržuk: и если не затребует линковку для get_module может тебе и повезёт

13:36:23 Спектр зашел как постоянный участник online [0] (Dakota)

13:36:44 Спектр теперь online [30] (Нахуй)

13:38:54 siaržuk: Diver_: собралось?

13:39:03 Flаmе теперь away [40] (Автостатус (неактивен))

13:40:20 Diver_: неа

13:41:03 Diver_: #include <errno_private.h>
#include <fs_info.h>
#include <fs_volume.h>
+#include <PCI.h>

#include <syscalls.h>

@@ -27,6 +28,7 @@ int _kstatfs_(dev_t device, void *whatever, int fd, const char *path, fs_info *i
int mount(const char *filesystem, const char *where, const char *device, ulong flags,
void *parms, int len);
int unmount(const char *path);
+long get_nth_pci_info(long index, pci_info *info);


int
@@ -143,3 +145,19 @@ unmount(const char *path)
return 0;
}

+long get_nth_pci_info(long index,pci_info *info)
+{
+ pci_module_info *mod_info;
+
+if (get_module(B_PCI_MODULE_NAME, (module_info **)&mod_info) != B_OK)
+ return B_ERROR;
+status_t result = B_ERROR;
+
+ if(mod_info->get_nth_pci_info(index,info))
+ return B_NO_ERROR;
+
+put_module(B_PCI_MODULE_NAME);
+
+return result;
+}
+

13:42:12 siaržuk: :-D

13:42:25 Diver_ вышел

13:42:33 Diver_ зашел как модератор и администратор online [5]

13:42:33 Diver_ теперь online [5]

13:42:53 Diver_: Cc generated/objects/haiku/x86/release/system/libroot/os/arch/x86/compatibility.o
AddTargetVariableToScript1 generated/haiku.image-init-vars
InitScript1 generated/haiku.image-extract-files
src/system/libroot/os/arch/x86/compatibility.c: In function `get_nth_pci_info':
src/system/libroot/os/arch/x86/compatibility.c:154: parse error before `result'
src/system/libroot/os/arch/x86/compatibility.c:161: `result' undeclared (first use in this function)
src/system/libroot/os/arch/x86/compatibility.c:161: (Each undeclared identifier is reported only once
src/system/libroot/os/arch/x86/compatibility.c:161: for each function it appears in.)
src/system/libroot/os/arch/x86/compatibility.c:162: warning: control reaches end of non-void function

13:42:54 siaržuk: @@ -143,3 +145,19 @@ unmount(const char *path) - вот это указывает строчки и размер заменяемого кода - т.е. просто добавив - патч невалидный получается. ;)

13:43:26 siaržuk: замени status_t -> long

13:44:10 Diver_: src/system/libroot/os/arch/x86/compatibility.c: In function `get_nth_pci_info':
src/system/libroot/os/arch/x86/compatibility.c:155: parse error before `long'
src/system/libroot/os/arch/x86/compatibility.c:162: `result' undeclared (first use in this function)
src/system/libroot/os/arch/x86/compatibility.c:162: (Each undeclared identifier is reported only once
src/system/libroot/os/arch/x86/compatibility.c:162: for each function it appears in.)
src/system/libroot/os/arch/x86/compatibility.c:163: warning: control reaches end of non-void function

13:44:31 Flаmе теперь online [50]

13:44:55 siaržuk: хм, long же определён

13:44:58 Diver_: long result = B_ERROR;

13:45:03 siaržuk: ну

13:45:16 siaržuk: а, это-же сюха

13:45:27 siaržuk: перенеси эту строчку в начало функции

13:45:42 siaržuk: после декларации мод_инфо

13:46:31 Diver_: MergeObjectFromObjects1 generated/objects/haiku/x86/release/system/libroot/os/arch/x86/os_arch_x86.o
Link generated/objects/haiku/x86/release/system/libroot/libroot.so
generated/objects/haiku/x86/release/system/libroot/os/arch/x86/os_arch_x86.o: In function `get_nth_pci_info':
(.text+0x664): undefined reference to `get_module'
generated/objects/haiku/x86/release/system/libroot/os/arch/x86/os_arch_x86.o: In function `get_nth_pci_info':
(.text+0x699): undefined reference to `put_module'
collect2: ld returned 1 exit status

13:46:49 siaržuk: ещё-бы

13:47:17 Flаmе: siaržuk: http://www.3dnews.ru/news/630094/ Sharp Pantone 5: смартфон, измеряющий уровень радиации

13:47:37 siaržuk: и чтито тепер?

13:47:56 Flаmе: да просто

13:48:16 siaržuk: Diver_: с кернелом линковаться нужно как-то

13:52:59 Flаmе теперь away [40] (Автостатус (неактивен))

13:53:29 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

13:56:00 siaržuk: ... и похоже это не так просто.

13:56:16 siaržuk: хм... а как listdev доступается к инфе о девайсах, интересно

13:58:24 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

13:58:26 siaržuk: интерссно, нахрена этому хрено́метру вообще инфа о девайсах?

13:58:37 Flаmе теперь online [50]

13:59:00 siaržuk: надо дизасемблировать и посмотреть ;)

14:00:26 Diver_: ну я тогда удаляю все, а то дерево в несобираемом состоянии, а тут сложно что-то

14:00:39 siaržuk: удаляй

14:00:59 siaržuk: git reset --hard и сразу голова запушится и заколосится

14:02:14 Diver_: ок, если будут идеи., то..

14:02:38 siaržuk: так ты только в этом компатибилити либе запускал или отдельно запахало тоже?

14:02:49 siaržuk: к кернелу надо через сисколл добираться

14:03:00 Diver_: ээ

14:03:02 siaržuk: т.е. добавлять свой сискол для этой хреновины

14:03:13 Diver_: ну я патч применил и пересобрал систему

14:03:22 Diver_: и бирометр стал запускаться

14:03:29 Diver_: хотел посмотреть чего так гайка в вбоксе тормозить стала

14:03:35 siaržuk: я думал что ты либку подсунул ему

14:03:42 Diver_: не

14:03:50 siaržuk: ладно, вечером дизасемблирую гляну на эту срань

14:04:03 Diver_: кул

14:04:21 siaržuk: а ты пока изохрон для EHCI допиши. ;)

14:04:45 Diver_: ок, договорились, тогда сразу и закоммичу в дерево ;-)

14:04:52 siaržuk: харашо :-D

14:06:43 siaržuk: Alex11223: привет, а на твоих олимпиадах такая задачка не была случайно? Разделить буфер размера N байт на n примерно равных частей. Входные условия 0 > n > N.

14:06:54 siaržuk: Flаmе: тебя тоже касается, умный ты наш.

14:06:57 siaržuk: ;-)

14:07:19 Alex11223: хз, неа

14:07:35 siaržuk: наверное слишком просто.

14:07:38 Flаmе: а чо сразу я?!

14:07:39 siaržuk: и как бы ты её решал?

14:07:55 siaržuk: Flаmе: ибо был замечен в обсуждении.

14:08:04 Alex11223: а в чем тут проблема? примерно равных это как?

14:08:09 Flаmе: siaržuk: я вчера подумал немного, мне кажется, надо делить и по остатку решать, прибавлять или отнимать до ближайшей еиницы

14:08:20 Flаmе: или по чет/нечет

14:08:26 Flаmе: а по науке не умею %)

14:10:07 siaržuk: ну т.е. усб контроллеру нужно скормить этот буффер по частям, причем длина отдельных частей может быть разной, но не больше чем размер пакета дозволенный для передачи девайсу. Для того собственно и делится

14:10:31 siaržuk: я только сегодня до чего-то додумался работающего, блин.

14:11:08 Flаmе: аа, то есть еще и размер пакета!

14:11:12 siaržuk: усер задает размер буфера и количество пакетов, а бус-менеджер должен этот буфер подилить на такое количество пакетов

14:11:26 Flаmе: а зачем тогда? можно последний делать меньше же

14:12:07 siaržuk: можно.

14:12:39 siaržuk: но это не будет работать для n -> N. ;-)

14:12:58 siaržuk: там будет что-то типа 2,2,2,2,1,1,1,1,1

14:13:12 siaržuk: т.е. не последний а ряд последних

14:13:21 Flаmе: так там же не единицы, а единицы и разы

14:13:32 siaržuk: разы?

14:13:38 Flаmе: или ч чего-т не понял

14:13:46 Flаmе: Разделить буфер размера N байт на n примерно равных частей. Входные условия 0 > n > N.

14:14:12 Flаmе: малая н это ж разы?

14:14:25 siaržuk: n - äto kolihestvo uhastkov

14:14:38 Flаmе: ну то есть как можно сравнивать байты и кол-во пакетов?

14:15:20 siaržuk: а почему бы и нет? буффер размером 256 байт разделить на 256 пакетов - это и будут пакеты по 1 байту

14:15:34 siaržuk: 255 пакетов - это первый будет 2 байта остальные по одному

14:15:42 siaržuk: и т.д.

14:15:42 Flаmе: но это не больше же

14:15:56 Flаmе: окей, по 1 байту, и в чем проблема тогда?

14:16:16 siaržuk: ага, 0 > n < N

14:16:57 Flаmе: О_о

14:17:30 siaržuk: ну чтобы работало от 1-цы до 256, а то усеры порвут такого бус-менеджера на шкварки

14:17:59 Flаmе: наверное 0 > n > N все же

14:18:14 Flаmе: ну ок, какой предел буфера-то?

14:18:31 Спектр вышел

14:18:36 siaržuk: 0 < n < N !!!

14:18:38 siaržuk: :-D

14:18:55 siaržuk: целочисленный

14:19:09 Flаmе: допустим 256, значит, если входные данные больше предела одного пакета, знчит делим и остаток досылаем

14:19:43 siaržuk: а если пакеты закончатся раньше чем твой буфер?

14:19:51 Flаmе: кк это?

14:20:30 siaržuk: если поделить 256 на количество пакетов - остаток будет лишним пакетом

14:22:08 Flаmе: так а откуда возьмется кол-во, отличное от 1?

14:22:44 siaržuk: усер задаёт размер буфера N и количество пакетов n.

14:22:45 Flаmе: если можем, передаем одним пакетом, если нет, то несколько и остаток от деления, разве нет?

14:22:50 Flаmе: юзер?? О_о

14:22:55 Flаmе: а ему зачем?

14:23:29 Flаmе: ну хорошо, задает он, ну если задаст инвалидно, то не делим тогда, по идее

14:23:41 siaržuk: усер usb bus-manager-а задает буффер и массив дескрипторов в которых он хочет потом посмотреть статус каждой посылки - удалась или нет.

14:24:10 siaržuk: в гайке и так уже достаточно мудацкого кода, чтобы ешё и в этом месте кривулину воротить.

14:24:10 Flаmе: ну вроде не противоречит

14:24:24 Flаmе: я наверное не в теме сложности

14:24:51 siaržuk: в общем буффер нужно распределить максимально равномерно по пакетам.

14:25:05 Flаmе: почему?

14:25:24 Flаmе: разве железяке не все равно?

14:25:34 diGer зашел как модератор и администратор online [2]

14:25:46 siaržuk: мне не всё равно - мудаком себя считать или нет.

14:25:51 Flаmе: у нее нет там минимального фиксированного размера пакета?

14:25:58 siaržuk: хорошо. есть буфер размером 13 байт

14:25:59 Flаmе: или просто фиксированного

14:26:09 siaržuk: как его поделить на 1 пакет?

14:26:17 diGer вышел

14:26:20 siaržuk: 13

14:26:21 Flаmе: ну делим на 1

14:26:32 siaržuk: на 2 -> 7, 6

14:26:52 Diver_ теперь away [5] (Auto Status (idle))

14:27:01 siaržuk: na 3 -> 5, 4, 4

14:27:34 Flаmе: да это понятно

14:27:46 Flаmе: почему не 5, 5, 4?

14:27:52 Flаmе: ой, 3

14:28:12 siaržuk: na 10 -> 2, 2, 2,1,1,1,1,1,1,1

14:28:19 Flаmе: но зачем?!

14:28:41 siaržuk: должно быть 10 пакетов

14:28:46 Flаmе: ну хорошо

14:29:34 siaržuk: усер так задал - 10 пакетов - и не волнует его, что про негу бус-менеджеры подумают

14:31:30 siaržuk: нет, ну если ты найдёшь алгоритм который забъёт основную массу пакетов по максимуму - ешё лучше. :)

14:31:40 Flаmе: так я к этому и клоню!

14:32:19 siaržuk: я пока только нашёл алгоритм который рассыплет это равномерно

14:33:10 siaržuk: поскольку неужно не проскочить максимальный размер пакета и удовлетворить запрос чувака на количество пакетов.

14:33:15 siaržuk: *нужно

14:33:42 siaržuk: вот такой дибнильный интерфейс достался нам для усб изохрона от дановской версии усб. ;)

14:36:09 siaržuk: Diver_: текущая реализация, кстати, в случае если размер буфера не кратен количеству пакетов в UHCI просто не передает предпоследний пакет, а в EHCI тупо игнорирует остаток. ;-)

14:36:15 Flаmе: а если зададут невалидно?

14:36:33 Flаmе: ну то есть не будет влазить в максимальный размер

14:37:15 siaržuk: если мало пакетов - то выдаст ошибку что превышен размер пакета и чайбамбина

14:37:30 Flаmе: а, ну значит можно не учитывать

14:38:44 siaržuk: да, но если ты на самом деле можешь этот буффер раздать заданным количеством пакетов но посчитаешь так что пакет не влазит в макс размер - то тебе будет ататай

14:39:09 Flаmе: ну я про тот случай, если нельзя никак

14:39:30 siaržuk: ну там уже нельзя никак, да

14:41:38 siaržuk: в принципе можно и вариант когда пакеты будут нулевого размера считать валидным. Т.е. просто ничего не посылать а написать статус ОК.

14:41:59 Flаmе: ну тогда вообще просто

14:42:03 siaržuk: Правда В этом случае можно вообще гнать пакеты максимального размера

14:42:12 Flаmе: гм

14:42:21 siaržuk: и остаток игнорировать

14:42:38 Flаmе: ну если можно игнорировать, то и проблема исчезает

14:43:10 siaržuk: правда если чувак задавал количество из предположения чтобы не жрать bandwidth то будет неверно.

14:43:28 siaržuk: впиндюрить всё одним пакетом.

14:46:52 Diver_ теперь xa [5] (Auto Status (idle))

14:48:26 Nico-izo теперь online [15]

14:53:55 Flаmе: Н=23, н=3
берем размер данных (23), делим на кол-во пакетов (3), получаем размер пакета — целое (7), отнимаем от предельного размера пакета (8) размер пакета (7) и на разницу (1) делим остаток (2), получаем 2 пакета, на которые прилепить результат этого деления (1)

14:55:07 Flаmе: либо остаток (2) делим на кол-во пакетов, не большее остатку

14:55:23 Flаmе: ну хотя это и так понятно

14:57:44 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

15:02:45 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

15:04:30 Flаmе теперь away [40] (Автостатус (неактивен))

15:14:30 Flаmе теперь xa [30] (Автостатус (неактивен))

15:20:04 Flаmе теперь online [50]

15:28:54 Flаmе теперь away [40] (Автостатус (неактивен))

15:29:49 siaržuk: в опчем я во такую хрень придумал:


int N = 247;
int c = 10;

for (int c = 1; c < N; c++) {
int s = N/c;
int r = N%c;

while (r != 0 && r > c) {
s += r % c;
if (r % c == 0)
break;
r = r % c;
}

int sum = 0;
for (int i = 0; i < c; i++) {
int _s = (i < r) ? (s + 1) : s;
printf("%d ", _s);
sum += _s;
}

printf("sum:%d\n", sum);
}

15:34:17 knorr вышел

15:34:43 Flаmе теперь online [50]

15:34:57 knorr зашел как постоянный участник away [0] (Прямо сейчас меня здесь нет)

15:35:26 Flаmе: ц это пакеты?

15:37:44 siaržuk: да, количество пакетов

15:38:42 siaržuk: т.е. раскидываем рекурсивно остаток пока он делится на количество пакетов, последний остаток - это количество пакетов к размеру которых надо добавить единичку

15:41:58 Flаmе теперь away [40] (Автостатус (неактивен))

15:51:58 Flаmе теперь xa [30] (Автостатус (неактивен))

15:52:38 Flаmе теперь online [50]

15:55:13 Flаmе: то есть не проверяем валидность ввода?

15:55:39 Flаmе: блин, синтаксис капец

15:55:50 siaržuk: это кролик, ему проверки ни к чему - он сам по себе проверка концепции.

16:00:58 Flаmе теперь away [40] (Автостатус (неактивен))

16:01:29 Flаmе теперь online [50]

16:02:45 Flаmе: а очередность передачи кто определяет?

16:03:11 Flаmе: у пакетов есть какие-то приоритеты там?

16:04:15 Flаmе: а то теоретически еще можно добавить варианты пропихнуть все побыстрее и большими кусками, или размазывать

16:05:16 siaržuk: нет, буфер разделяется и отдается в виде transfer decsriptors контроллеру а тот уже сам решает как это жраць.

16:05:25 siaržuk: да не, это уже излишне и не наша забота

16:05:31 Flаmе: от задачи должно ведь зависеть, по идее-то

16:05:47 Flаmе: ну не наша, мне просто интересно, можно ли ярлыки клеить к пакетам

16:06:42 Flаmе: например первые 4 мегабайта передать быстро и толстыми кусками, шоб заголовки влезли, а потом как получится

16:08:24 siaržuk: это вообще изохронный поток - там не важна целостность доставки - а важна равномерность отсылки. Потому там и разбивается всё на пакеты, чтобы усер мог потом почитать какой фрейм отослался а какой нет....

16:08:54 siaržuk: типа видекамера дает видеопоток - и если какие-то части не переслались - похер - это не будет пересылаться

16:09:01 Flаmе: хм, но если не важна, тгда зачем ему проверять

16:09:30 Flаmе: ну да, я потому и спросил, поток другая задача

16:09:39 siaržuk: проверять что?

16:09:53 siaržuk: чтобы отчёт дать усеру что улетело, а что нет.

16:09:58 Flаmе: доставку

16:10:38 Flаmе: так ему ведь не надо это знать, он фигачит и все

16:11:30 siaržuk: тем не менее интерфейс предполагает наличие массива дескрипторов в каждом указано сколько заказано переслать, сколько переслано и статус пересылки.

16:11:50 siaržuk: и туда надо что-то написать

16:12:14 Flаmе: и он будет меняться по ходу дела?

16:12:32 Flаmе: или только мы его пишем

16:14:02 siaržuk: мы его заполним уже по факту после того как трансфер завершится.

16:19:21 Flаmе: аа, так это мы и есть интерфейс?

16:19:55 Flаmе: я думал, это запрос так надо оформить

16:19:56 siaržuk: нет, мы бус-менеджер, которому драйвера дают данные для комёжки усб хост контроллера.

16:20:50 Flаmе: те самые, которые надо разбивать?

16:23:19 siaržuk: да

16:43:50 Ботиха вышел (Replaced by new connection)

16:43:50 Эта комната фильтруется внешним сервисом

16:43:50 siaržuk зашел как владелец конференции online [5]

16:43:51 knorr зашел как постоянный участник away [0] (Прямо сейчас меня здесь нет)

16:43:52 Diver_ зашел как модератор и администратор xa [5] (Auto Status (idle))

16:43:52 Flаmе зашел как модератор и администратор online [50]

16:43:52 Alex11223 зашел как постоянный участник online [5]

16:43:52 Зелёновый зашел как модератор и администратор xa [30]

16:43:52 Nico-izo зашел как постоянный участник xa [15] (Меня нет тут уже 10 минут (Беда!))

16:43:52 Ботиха зашел как модератор и администратор online [0] (Йа аццкое железко!)

16:43:53 Yehoshua' установил(а) тему: Сайт проекта: http://www.haiku-os.org
Haiku OS R1/alpha 3: http://www.haiku-os.org/get-haiku
Сайт сообщества: http://qube.ru/
BeShare: siarzhuk.dyndns.org
Логи конференции: http://siarzhuk.dyndns.org/haiku-os.logs
ВНИМАНИЕ: Для получения статуса "Участник" перешлите Вашу просьбу модераторам [как приватное сообщение].

16:44:05 Diver_ теперь xa [5] (Auto Status (idle))

16:44:19 diGer зашел как модератор и администратор online [2]

16:46:05 diGer: почитал... почитал еще раз..

походу разную траву курят...

16:52:39 siaržuk: diGer: Ну что узнал сколько тебя в XL-ях будет?

17:00:07 Спектр зашел как постоянный участник online [50]

17:17:34 Nico-izo теперь online [15]

17:21:58 Nico-izo вышел

17:56:39 siaržuk вышел

18:25:03 Спектр теперь away [40] (Автостатус (неактивен))

18:26:39 Спектр теперь online [50]

18:37:40 Alex11223 теперь away [5] (Автостатус (неактивен))

18:47:27 siaržuk зашел как владелец конференции online [5]

18:50:16 Спектр вышел (Replaced by new connection)

18:50:39 Спектр зашел как постоянный участник online [50]

18:52:03 Alex11223 теперь online [5]

18:53:28 siaržuk вышел

18:54:56 siaržuk зашел как владелец конференции online [50]

19:04:59 siaržuk теперь away [40] (Auto Status (idle))

19:05:33 siaržuk теперь online [50]

19:24:01 Nico-izo зашел как постоянный участник online [15]

19:43:47 siaržuk теперь away [40] (Auto Status (idle))

19:50:49 Зелёновый теперь online [30]

20:02:20 Flаmе теперь away [40] (Автостатус (неактивен))

20:03:47 siaržuk теперь xa [30] (Auto Status (idle))

20:05:55 Flаmе теперь online [50]

20:09:06 Зелёновый теперь away [30]

20:17:56 siaržuk теперь online [50]

20:24:26 Спектр вышел

20:27:53 siaržuk теперь away [40] (Auto Status (idle))

20:29:06 Зелёновый теперь xa [30]

20:29:45 siaržuk теперь online [50]

20:32:55 Зелёновый теперь online [30]

20:33:21 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

20:38:14 Nico-izo теперь online [15]

20:45:26 siaržuk теперь away [40] (Auto Status (idle))

20:45:38 Зелёновый теперь away [30]

20:50:21 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

20:50:52 Nico-izo теперь online [15]

20:53:31 Спектр зашел как постоянный участник online [50]

20:54:48 Спектр вышел

20:54:58 siaržuk теперь online [50]

20:56:53 Спектр зашел как постоянный участник online [0] (Нахуй)

20:58:54 Зелёновый вышел

21:04:59 siaržuk теперь away [40] (Auto Status (idle))

21:05:13 siaržuk теперь online [50]

21:08:26 totish зашел как постоянный участник online [50]

21:15:13 siaržuk теперь away [40] (Auto Status (idle))

21:19:09 siaržuk теперь online [50]

21:23:25 totish вышел

21:37:48 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

21:40:23 Nico-izo теперь online [15]

21:47:47 Diver_ теперь online [5]

21:49:58 siaržuk теперь away [40] (Auto Status (idle))

21:51:05 Diver_: siaržuk: дизасмил?

21:51:09 siaržuk теперь online [50]

21:51:44 siaržuk: пока нет.

21:53:31 Flаmе: ммм екнулось, по ходу :)

21:53:40 Flаmе: уже забегали массово

21:53:53 Diver_: кто?

21:56:44 siaržuk: эта хербня не устанавливается- памяти говорит не хватает. :-D

21:57:12 Flаmе: ну кто, обманутые вкладчики :)

21:57:37 siaržuk: самообманутые

22:01:45 siaržuk вышел

22:05:30 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

22:10:27 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

22:20:55 Nico-izo теперь online [15]

22:28:19 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

22:33:19 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

22:36:01 Alex11223 вышел

22:36:34 Спектр вышел

22:45:34 diGer вышел

22:56:59 Nico-izo теперь online [15]

23:03:51 Nico-izo теперь away [15] (Меня нет тут уже 5 минут (И что?))

23:08:51 Nico-izo теперь xa [15] (Меня нет тут уже 10 минут (Беда!))

23:22:30 Diver_ теперь away [5] (Auto Status (idle))

23:25:20 Ботиха: RSS: Новости для http://cia.vc/stats/project/Haiku/.rss Haiku
• intel_810: Style cleanup. No functional change [2 commits] * I think the…
Commit by kallisti5 on master :: rhrev44212 haiku/: (link) intel_810: Style cleanup. No functional change [2 commits]I think the FunctionNames need to change to function_name

23:38:52 Flаmе теперь away [40] (Автостатус (неактивен))

23:40:20 Ботиха: RSS: Новости для http://cia.vc/stats/project/Haiku/.rss Haiku
• Reverted the rounded buttons again. [4 commits] * Following the previous…
Commit by axeld on master :: rhrev44213 haiku/: (link) Reverted the rounded buttons again. [4 commits]Following the previous discussion on the mailing list and Stippi's final mail.I tried to get used to it in the last couple of weeks, but I think it just looks out of place, and not good either.

23:41:36 Nico-izo теперь online [15]

23:42:30 Diver_ теперь xa [5] (Auto Status (idle))

23:48:52 Flаmе теперь xa [30] (Автостатус (неактивен))