HARDIRQ_OFFSET
current_thread_info()->preempt_count = HARDIRQ_OFFSET;
irqctx->tinfo.preempt_count = HARDIRQ_OFFSET;
__preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
__preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
preempt_count_add(HARDIRQ_OFFSET); \
preempt_count_add(HARDIRQ_OFFSET); \
preempt_count_sub(HARDIRQ_OFFSET); \
preempt_count_sub(HARDIRQ_OFFSET); \
vtime_account_irq(tsk, HARDIRQ_OFFSET);
irqtime_account_irq(tsk, HARDIRQ_OFFSET);
(preempt_count() == HARDIRQ_OFFSET))) {
if (pc & HARDIRQ_OFFSET) {
else if ((p != this_rq()->idle) || (irq_count() != HARDIRQ_OFFSET))
account_system_time(p, HARDIRQ_OFFSET, cputime);
(is_idle_task(current) && (irq_count() == HARDIRQ_OFFSET)))
preempt_count_sub(HARDIRQ_OFFSET);