[Varnish] #644: Deadlock in 2.0.x under high load.

Varnish varnish-bugs at projects.linpro.no
Sat Feb 6 16:15:21 CET 2010


#644: Deadlock in 2.0.x under high load.
----------------------+-----------------------------------------------------
 Reporter:  kmcfate   |        Owner:  phk
     Type:  defect    |       Status:  new
 Priority:  normal    |    Milestone:     
Component:  varnishd  |      Version:  2.0
 Severity:  normal    |   Resolution:     
 Keywords:  deadlock  |  
----------------------+-----------------------------------------------------
Comment (by kmcfate):

 Feedback welcome for the patch I am using:

 diff -udN --recursive varnish-2.0.6/bin/varnishd/cache_acceptor_epoll.c
 varnish-2.0.6-mod/bin/varnishd/cache_acceptor_epoll.c
 --- varnish-2.0.6/bin/varnishd/cache_acceptor_epoll.c   2009-11-06
 02:43:32.000000000 -0600
 +++ varnish-2.0.6-mod/bin/varnishd/cache_acceptor_epoll.c       2010-02-06
 09:13:32.658538000 -0600
 @@ -64,9 +64,12 @@
  {

         assert(fd >= 0);
 -       if (data == vca_pipes || data == dotimer_pipe) {
 +       if (data == dotimer_pipe) {
                 struct epoll_event ev = { EPOLLIN | EPOLLPRI | EPOLLET, {
 data } };
                 AZ(epoll_ctl(epfd, arm, fd, &ev));
 +    } else if (data == vca_pipes) {
 +        struct epoll_event ev = { EPOLLIN | EPOLLPRI , { data } };
 +        AZ(epoll_ctl(epfd, arm, fd, &ev));
         } else {
                 struct sess *sp = (struct sess *)data;
                 CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);

-- 
Ticket URL: <http://varnish-cache.org/ticket/644#comment:3>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list