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

Re: [Xen-devel] [PATCH V6] Switch from select() to poll() in xenconsoled's IO loop

On Wed, 2013-01-09 at 09:50 +0000, Wei Liu wrote:
> In Linux select() typically supports up to 1024 file descriptors. This can be
> a problem when user tries to boot up many guests. Switching to poll() has
> minimum impact on existing code and has better scalibility.
> pollfd array is dynamically allocated / reallocated. If the array fails to
> expand, we just ignore the incoming fd.
> Change from V2:
>   * remove unnecessary malloc in initialize_pollfd_arrays
>   * use ROUND_UP to get new size of arrays
> Change from V3:
>   * remove initialize and destroy function for array
>   * embedded tracking structure in struct domain, eliminate fd_to_pollfd
> Change from V4:
>   * make xs_pollfd local to io.c
>   * add back the 5 ms fuzz
>   * handle POLLERR and POLLHUP
>   * treat POLLPRI as error if set in revents
>   * abort if xenconsoled's own fds get screwed
>   * handle broken tty if tty's fds get screwed
> Change from V5:
>   * make some handles local to handle_io

The code now resets some of these to -1/NULL on exit from handle_io,
which isn't really necessary but I'm not to bothered about that.

>   * remove redundant xc interface
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.