Re: [take10 1/2] kevent: Core files.

From: Evgeniy Polyakov
Date: Wed Aug 16 2006 - 08:42:42 EST


On Wed, Aug 16, 2006 at 03:37:30PM +0300, Mika Penttilà (mika.penttila@xxxxxxxxxxx) wrote:
> +void kevent_user_ring_add_event(struct kevent *k)
> +{
> + unsigned int pidx, off;
> + struct kevent_mring *ring, *copy_ring;
> +
> + ring = (struct kevent_mring *)k->user->pring[0];
> +
> + pidx = ring->index/KEVENTS_ON_PAGE;
> + off = ring->index%KEVENTS_ON_PAGE;
> +
> + copy_ring = (struct kevent_mring *)k->user->pring[pidx];
> +
> + copy_ring->event[off].id.raw[0] = k->event.id.raw[0];
> + copy_ring->event[off].id.raw[1] = k->event.id.raw[1];
> + copy_ring->event[off].ret_flags = k->event.ret_flags;
> +
> + if (++ring->index >= KEVENT_MAX_EVENTS)
> + ring->index = 0;
> +}
>
> Can you assume that the page at pidx is already allocated and why?

It is checked and allocated if needed in kevent_user_ring_grow(), which
is called for each new kevent.

> --Mika
>

--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/