From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v5] tools/xenconsoled: Increase file descriptor limit Date: Mon, 2 Mar 2015 14:23:59 +0000 Message-ID: <1425306239.21151.51.camel@citrix.com> References: <1425059586-30456-1-git-send-email-andrew.cooper3@citrix.com> <1425306147.21151.50.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1425306147.21151.50.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Cooper Cc: Wei Liu , Ian Jackson , Xen-devel List-Id: xen-devel@lists.xenproject.org On Mon, 2015-03-02 at 14:22 +0000, Ian Campbell wrote: > On Fri, 2015-02-27 at 17:53 +0000, Andrew Cooper wrote: > > XenServer's VM density testing uncovered a regression when moving from > > sysvinit to systemd where the file descriptor limit dropped from 4096 to > > 1024. (XenServer had previously inserted a ulimit statement into its > > initscripts.) > > > > One solution is to use LimitNOFILE=4096 in xenconsoled.service to match the > > lost ulimit, but that is only a stopgap solution. > > > > As Xenconsoled genuinely needs a large number of file descriptors if a large > > number of domains are running, attempt to increase the limit. > > > > Signed-off-by: Andrew Cooper > > CC: Ian Campbell > > CC: Ian Jackson > > CC: Wei Liu > > I tried to apply but I'm afraid that for 32-bit userspace this gives me: > > daemon/main.c: In function 'increase_fd_limit': > daemon/main.c:89:10: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'rlim_t' [-Werror=format] > daemon/main.c:89:10: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'rlim_t' [-Werror=format] > daemon/main.c:89:10: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t' [-Werror=format] > daemon/main.c:89:10: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'rlim_t' [-Werror=format] > > I've no idea how one is formally supposed to print and rlim_r. The Internet(tm) seems to think "by casting to long long" is the answer :-/ Ian.