LINUX.ORG.RU

Ограничить размер очереди workqueue

 workqueue, ,


0

1

Привет, ЛОР!

Возник очередной нубский вопрос по поводу ядра. Если я правильно понял, то рабочие потоки представляются структурой workqueue_struct, в которой содержится массив структур struct cpu_workqueue_struct:

/*
 * The per-CPU workqueue.  The lower WORK_STRUCT_FLAG_BITS of
 * work_struct->data are used for flags and thus cwqs need to be
 * aligned at two's power of the number of flag bits.
 */
struct cpu_workqueue_struct {
        struct global_cwq       *gcwq;          /* I: the associated gcwq */
        struct workqueue_struct *wq;            /* I: the owning workqueue */
        int                     work_color;     /* L: current color */
        int                     flush_color;    /* L: flushing color */
        int                     nr_in_flight[WORK_NR_COLORS];
                                                /* L: nr of in_flight works */
        int                     nr_active;      /* L: nr of active works */
        int                     max_active;     /* L: max active works */
        struct list_head        delayed_works;  /* L: delayed works */
};

и, наверное, можно руками контролировать размер связного списка delayed_works. Существует ли механизм ограничения размера очереди workqueue?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Попробуй немного подумать над тем, что ты хочешь. Твой вопрос говорит, что ты не знаешь, как работают очереди. Того, что ты хочешь, не существует.

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