В общем да, как и написал Дима, подразумевается, что если подряд сравнивать все биты числа с 1, то некоторые действия будут лишними(делать то нам что-то надо только в случае, когда бит единичный). Можно сделать цикл только по единичным битам, например так
for(int T = .....; T ; T ^= T&-T) тут возникает проблема, что T&-T - это число, у которого есть только один единичный бит соотв. младшему единичнуму биту числа T, а обычно интересен его номер. как вычислять номер быстро можно посмотреть например здесь: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn <http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn>Там вроде как представлены формулы, но без пояснений. За пояснениями можно обратиться сюда (хотя тут наверно тоже только общие сведения и применения к конкретно данному случаю нет =( ) http://en.wikipedia.org/wiki/De_Bruijn_sequence#cite_note-10 ==================================================== Теперь по делу: Когда я пытался подключить тест к event_dispatcher, сам он проходил, но тянул за собой irq_deep_handler, который валился. Что можно с этим поделать? И все-таки, как связаны softirq и evdispatch. У event_dispatch в параметрах есть softirq_nr_t, который используется только в тесте, чтобы передать функцию параметром в softirq_install 20 апреля 2011 г. 19:33 пользователь Дмитрий Авдюхин <[email protected]>написал: > Про биты, насколько я понял: при обходе маски вы вынуждены просматривать > все биты, в том числе и содержащие нули. Однако, можно обойти ее так, чтобы > рассматривать только биты, в которых стоят единицы. Ну и вроде это должно > работать побыстрее. Чисто мое понимание сказанного. > > > 2011/4/20 Gleb Efimov <[email protected]> > >> Какая нежность... :-) >> >> 20.04.11, Eldar Abusalimov<[email protected]> написал(а): >> > Где грубость-то? Я мягок, как французская булочка. =) >> > >> > 20 апреля 2011 г. 11:03 пользователь Anton Bondarev >> > <[email protected]>написал: >> > >> >> Да действительно не нужно наверное переписывать. Хотя я не очень понял >> >> что такое единичные биты? То есть если напишешь что же ты хочешь >> >> сделать словами и это будет полезно для общества, то всегда >> >> пожалуйста. Но пока хочется что бы люди делали свои задачи, а то >> >> кавардак получается. >> >> >> >> Идея задачи в том что бы ты сделал новый эвент диспатчер (лежащий >> >> рядом). Он должен работать как я описал:) То есть принимать хендлер >> >> или его идентификатор и очень быстро вызываться (но вызываться тоже по >> >> очереди) >> >> >> >> На счет грубости согласен, нужно быть мягче, всем:) >> >> >> >> >> >> >> >> On 19 апр, 21:55, Илья К <[email protected]> wrote: >> >> > Эльдар, не так грубо, будь мягче ;) >> >> > >> >> > 19 апреля 2011 г. 21:35 пользователь Николай Мальковский < >> >> > [email protected]> написал: >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > > не надо так не надо =) >> >> > >> >> > > 2011/4/19 Eldar Abusalimov <[email protected]> >> >> > >> >> > >> Парень, зачем переписывать то, что: >> >> > >> >> > >> а. Работает как часы >> >> > >> б. Будет скоро выкинуто >> >> > >> >> > >> Нет, ну правда? >> >> > >> >> > >> 19 апреля 2011 г. 21:16 пользователь Николай Мальковский < >> >> > >> [email protected]> написал: >> >> > >> >> > >> по поводу soft_irq: >> >> > >>> могу переписать тот цикл, чтобы перебирались только единичные >> биты >> >> > >> >> > >> -- >> >> > >> Best regards, >> >> > >> Eldar Sh. Abusalimov >> >> >> > >> > >> > >> > -- >> > Best regards, >> > Eldar Sh. Abusalimov >> > >> > > > > -- > С уважением, > Авдюхин Дмитрий. >

