Re: [PATCH v12 04/20] index-helper: new daemon for caching index and related stuff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Turner <novalis@xxxxxxxxxxx> wrote:
> On 06/26/2016 04:53 AM, Eric Wong wrote:
> >David Turner <novalis@xxxxxxxxxxx> wrote:
> >>On 06/25/2016 10:33 AM, Duy Nguyen wrote:
> >>>>+               /*
> >>>>+                * Our connection to the client is blocking since a client
> >>>>+                * can always be killed by SIGINT or similar.
> >>>>+                */
> >>>>+               set_socket_blocking_flag(client_fd, 0);
> >>>
> >>>Out of curiosity, do we really need this? I thought default behavior
> >>>was always blocking (and checked linux kernel, it seemed to agree with
> >>>me). Maybe for extra safety because other OSes may default to
> >>>something else?
> >>
> >>Yes -- see this bug report for details:
> >>https://bugs.python.org/issue7995
> >
> >I realize it's an issue with BSDs, but it still seems
> >unnecessary, here:
> >
> >1) the packet_read => get_packet_data => read_in_full => xread
> >    call chain already poll()s on EAGAIN/EWOULDBLOCK.
> >    write_in_full => xwrite busy loops on EAGAIN/EWOULDBLOCK.
> >    xwrite should probably poll, too; but I guess EAGAIN is
> >    uncommon with small writes.
> 
> That is a CPU-burning busy loop on a non-blocking socket.

Indeed, fixes proposed in (xread was also broken(!)):
http://mid.gmane.org/20160626232112.721-3-e@xxxxxxxxx
http://mid.gmane.org/20160626232112.721-2-e@xxxxxxxxx
http://mid.gmane.org/20160626232112.721-1-e@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]