[lkml]   [2005]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: kernel stack size
    On Sat, 2005-04-02 at 20:37 +0100, Al Viro wrote:
    > On Sat, Apr 02, 2005 at 02:04:11PM -0500, Steven Rostedt wrote:
    > > You can also use globally static variables too. But this makes for
    > > non-reentry code.
    > >
    > > Sometimes I don't feel that a kmalloc is worth it, and if the function
    > > in question for the driver would seldom have problems with reentry, I
    > > use a statically defined global, and protect it with spin_locks. If
    > > these can also be used in interrupt context, you need to use the
    > > spin_lock_irqsave variants. But don't do this if the critical section
    > > has long latencies.
    > ... and the first time copy_from_user() blocks under your spinlock
    > you will get a nice shiny deadlock.

    I forgot that he mentioned that this was for ioctls. I then use
    semaphores if I need to access userspace. But if it just needs to modify
    data around areas that only the kernel uses, without access to
    userspace, than I use spinlocks.

    I admit you really need to know what you're doing to use this method. If
    I believe that a kmalloc would be too expensive, then I use the locking
    of static variables. But each situation is different and I try to use
    the best method for the occasion.

    -- Steve

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-04-06 13:31    [W:0.020 / U:17.928 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site