Re: [RFC 1/4] kevent: core files.

Evgeniy Polyakov
2006-07-09T15:08:35Z

On Sun, Jul 09, 2006 at 05:59:42PM +0300, Pekka Enberg (penberg@cs.helsinki.fi) wrote:
> On 7/9/06, Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> >+struct kevent *kevent_alloc(gfp_t mask)
> >+{
> >+ struct kevent *k;
> >+
> >+ if (kevent_cache)
> >+ k = kmem_cache_alloc(kevent_cache, mask);
> >+ else
> >+ k = kzalloc(sizeof(struct kevent), mask);
> >+
> >+ return k;
> >+}
>
> What's this for? Why would kevent_cache be NULL? Note that you can use
> kmem_cache_zalloc() for fixed size allocations that need to be zeroed.

It can work without cache at all, i.e. if cache creation fails.
Well, it can be removed of course, since it does not hurt anything.

> On 7/9/06, Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> >+
> >+void kevent_free(struct kevent *k)
> >+{
> >+ memset(k, 0xab, sizeof(struct kevent));
>
> Why is slab poisoning not sufficient?

Since that pointer is always known to be poisoned no matter if kernel
debugging option is turned on or off.

--
Evgeniy Polyakov