Re: igb_down from bottom half context

anil dahiya <[email protected]>
Newsgroups org.kernel.vger.linux-newbie,org.kernel.vger.netdev
Message-ID <CAHGPgw0EV3-U+h5S0SFdEweUVcT68h5tdRkZbAwRqrNG5z2P+w@mail.gmail.com>
You know, you are doing wrong thing i.e sleeping in interrupt context.

As suggested by Ben, move code work queue or somewhere else. Other option
is dont sleep here.

--Anil
On Wed, Mar 6, 2013 at 11:08 PM, Ben Hutchings <[email protected]>wrote:

> On Wed, 2013-03-06 at 09:38 +0530, ratheesh kannoth wrote:
> > I  have kernel timer which  check for flag.
> >
> > if(flag ) {
> >           igb_down(adapter);
> >  } else {
> >          igb_up(adapter);
> >  }
> >
> >
> > I could see a kernel crash; because  there are a lot of  msleep() in
> > igb_down function.
> >
> > #define msleep(x)    do { set_current_state(TASK_UNINTERRUPTIBLE); \
> >                                 schedule_timeout((x * HZ)/1000 + 2); \
> >                               } while (0)
> >
> > sleep() is called from bottom half context; this is the cause of kernel
> crash.
> >
> > 1) Since timer call back dont have process context associated with it;
> > i think , "current" points to the last preempted task ?
> > 2) How can i introduce delays in interrupt context to avoid the kernel
> > crash. mdelay()  will work ?
> > 3) is there any better mechanism to do this job ?
>
> Use a work item and schedule_work().
>
> Ben.
>
> --
> Ben Hutchings, Staff Engineer, Solarflare
> Not speaking for my employer; that's the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.linux-learn.org/faqs
>

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev

_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.