From: Anthony L. <ali...@us...> - 2008-04-15 14:00:27
|
Avi Kivity wrote: > Anthony Liguori wrote: >> >> BTW, when we set O_ASYNC on the tap fd, we're eliminating >> O_NONBLOCK. This means that we have to poll loop select() when >> readv()'ing packets instead of just reading until hitting AGAIN. >> This means at least an extra syscall per packet. > > I didn't know that O_ASYNC and O_NONBLOCK were mutually exclusive. > Can you point me at the relevant documentation? I don't know that they are, but we're doing an: fcntl(fd, F_SETFL, O_ASYNC); F_SETFL is not additive so the previous O_NONBLOCK gets dropped. Regards, Anthony Liguori |