Date: Mon, 2 Jul 2012 10:36:45 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, current@freebsd.org Subject: Re: swp_pager_meta_build DoS printf Message-ID: <201207021036.45567.jhb@freebsd.org> In-Reply-To: <7BEE3948-EE35-48C2-B4B1-25E34087A4C4@lists.zabbadoz.net> References: <7BEE3948-EE35-48C2-B4B1-25E34087A4C4@lists.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday, July 01, 2012 8:23:31 am Bjoern A. Zeeb wrote: > Hey, > > hitting this printf in swp_pager_meta_build() > > if (uma_zone_exhausted(swap_zone)) { > printf("swap zone exhausted, increase kern.maxswzone\n"); > vm_pageout_oom(VM_OOM_SWAPZ); > pause("swzonex", 10); > } else > > seems to be an effective way to put the machine into a state of no recovery > unless the memory situation would be able to clear itself. Not that it wouldn't > otherwise be any better but in addition having a couple of tenthousands of these > going to console as well is really not helpful to try to do anything either. Can > we make it a log() call or something? > > /bz > > PS: I am not sure as I have seen it on someone else's machines and it's > probably been ZFS that caused it. I unfortunately neither had a way to > get back in or break to a kernel debugger, so information is sparse. This used to be a silent deadlock before I added the printf() and the call to OOM. :-P Do you just want to ratelimit the printf? We have an API to ratelimit printf's already. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207021036.45567.jhb>