Блоги

random networking stuff #1

> + /* IP header Alignment (14 byte Ethernet header) */
> + skb_reserve(skb, 2);

Use "NET_IP_ALIGN", not "2", different architectures want to
use different values.

> + skb_reserve(merge_skb, 2);

Same thing here, use NET_IP_ALIGN.

> +/* arcvmac private data structures */
> +struct vmac_buffer_desc {
> + unsigned int info;
> + dma_addr_t data;
> +};

If this is the actual descriptor used by the hardware you
cannot define it this way.

dma_addr_t is a variable type, on some platforms it is a

Handing stack overflows: linux kernel stack design highlights

* Every process has a dedicated kernel stack. In this context,
'process' includes user space processes and threads, plus those
processes that only exist inside the kernel (e.g. kswapd, xfslogd).

* When a process is sleeping, there is some state in its kernel stack
to let the scheduler wake it up, that stack does not change until the
scheduler assigns the task to a cpu. When a processing is running
and is scheduled on a cpu, it is actively reading and writing its
stack.

* Kernel stacks are a fixed size. Unlike user space stacks, they do

Runtime Power Management Framework

Презентация на LinuxCon'2010 от Rafael J. Wysocki, которая описывает новый runtime фреймворк для power management'а (т.е., например, если в работающей системе нет линка у сетевого интерфейса, то устройство может быть переведено в suspend-режим)

http://events.linuxfoundation.org/slides/2010/linuxcon2010_wysocki.pdf

icon.png

IsoStack

Наткнулся на очень интересный документ, посвященный проблеме производительности сетевого стека на SMP машинах.

Asus NX1001

Подцепил себе за бесплатно сетевушку Asus NX1001. Новенькую, в коробочке, прямо глаз радовался (хотя она стоит как бутылка хорошего пива)

RSS-материал