Hello NG, I receive the warning "scheduling while atomic" in /var/log/messages executing this peace of code: read_lock(&dev_base_lock); save_flags(flags); cli(); spin_lock_irqsave(out_if->qdisc->stats_lock,flags); ql = out_if->qdisc->qstats.backlog; rate = out_if->qdisc->rate_est.bps; spin_unlock_irqrestore(out_if->qdisc->stats_lock,flags); read_unlock(&dev_base_lock); I am trying to retrieve the qlength and the rate of an interface (struct netdevice *out_if). Which situations does linux concider to be "atomic"? The spinlock? And why does spin_lock_irqsave not help? I am working on a 1 CPU machine. With kind regards, Alex -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/