lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimXUDcD5YWAcR=SGa3EBM3+TaMRL1UtF4epxNaP@mail.gmail.com>
Date:	Thu, 17 Mar 2011 14:29:32 -0700
From:	Vaibhav Nagarnaik <vnagarnaik@...gle.com>
To:	rostedt@...dmis.org, mingo@...e.hu, fweisbec@...il.com,
	lizf@...fujitsu.com
Cc:	Michael Rubin <mrubin@...gle.com>,
	David Sharp <dhsharp@...gle.com>, linux-kernel@...r.kernel.org
Subject: [RFC] tracing: a proc file to automatically release ring buffer memory

All

The current way to release memory from ftrace ring buffer is to:
echo 0 > /sys/kernel/debug/tracing/buffer_size_kb

Consider a scenario where ftrace is handled by a user space
process. Normally, this tracing is done as a low priority task on the
system. Under memory pressure for high priority tasks, tracing should
be turned off and the trace ring buffer memory released. The buffer
allocated is kernel memory and under OOM condition if the user space
process is oom-killed, there is no way to release the ring buffer
memory.

The proposal is to add a proc entry
/sys/kernel/debug/tracing/buffer_free. Its .release() fileops function
executes tracing_stop() and then resizes the global trace buffer to
minimum size (2*BUF_PAGE_SIZE). The user space process opens this file
and keeps it open. When the process gets killed, the fd gets closed
and .release() is called. This automatically stops the tracing and
frees up the ring buffer memory.

It is optional to use this functionality, since it won't affect
tracing for current programs. But it provides a way to automatically
free up memory, if needed. It can also be used on the command line to
stop tracing and free up memory as a single operation as:
echo > /sys/kernel/debug/tracing/buffer_free


Vaibhav Nagarnaik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ