<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/kbd_kern.h, branch v3.2.31</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.31</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.31'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2011-03-22T23:17:32Z</updated>
<entry>
<title>tty: stop using "delayed_work" in the tty layer</title>
<updated>2011-03-22T23:17:32Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-03-22T23:17:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f23eb2b2b28547fc70df82dd5049eb39bec5ba12'/>
<id>urn:sha1:f23eb2b2b28547fc70df82dd5049eb39bec5ba12</id>
<content type='text'>
Using delayed-work for tty flip buffers ends up causing us to wait for
the next tick to complete some actions.  That's usually not all that
noticeable, but for certain latency-critical workloads it ends up being
totally unacceptable.

As an extreme case of this, passing a token back-and-forth over a pty
will take two ticks per iteration, so even just a thousand iterations
will take 8 seconds assuming a common 250Hz configuration.

Avoiding the whole delayed work issue brings that ping-pong test-case
down to 0.009s on my machine.

In more practical terms, this latency has been a performance problem for
things like dive computer simulators (simulating the serial interface
using the ptys) and for other environments (Alan mentions a CP/M emulator).

Reported-by: Jef Driesen &lt;jefdriesen@telenet.be&gt;
Acked-by: Greg KH &lt;gregkh@suse.de&gt;
Acked-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>vt: Add virtual console keyboard mode OFF</title>
<updated>2011-02-17T19:12:40Z</updated>
<author>
<name>Arthur Taylor</name>
<email>art@ified.ca</email>
</author>
<published>2011-02-04T21:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9fc3de9c83565fcaa23df74c2fc414bb6e7efb0a'/>
<id>urn:sha1:9fc3de9c83565fcaa23df74c2fc414bb6e7efb0a</id>
<content type='text'>
virtual console: add keyboard mode OFF

Add a new mode for the virtual console keyboard OFF in which all input
other than shift keys is ignored. Prevents vt input buffers from
overflowing when a program opens but doesn't read from a tty, like X11
using evdev for input.

Signed-off-by: Arthur Taylor &lt;art@ified.ca&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>Input: Mac button emulation - implement as an input filter</title>
<updated>2010-01-30T09:47:49Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2010-01-30T08:53:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=99b089c3c38a83ebaeb1cc4584ddcde841626467'/>
<id>urn:sha1:99b089c3c38a83ebaeb1cc4584ddcde841626467</id>
<content type='text'>
Current implementation of Mac mouse button emulation plugs into legacy
keyboard driver, converts certain keys into button events on a separate
device, and suppresses the real events from reaching tty. This worked
well enough until user space started using evdev which was completely
unaware of this arrangement and kept sending original key presses to
its users. Change the implementation to use newly added input filter
framework so that original key presses are not transmitted to any
handlers.

As a bonus remove SYSCTL dependencies from the code and use Kconfig
instead; also do not create the emulated mouse device until user
activates emulation.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible</title>
<updated>2007-08-23T02:52:45Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2007-08-22T21:01:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2301060e2b19aa4830060524ef66abdf32b26a26'/>
<id>urn:sha1:2301060e2b19aa4830060524ef66abdf32b26a26</id>
<content type='text'>
m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible

drivers/char/keyboard.c: In function 'kbd_keycode':
drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons'

The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on
m68k because it's hidden in the middle of a big #ifdef block.

Move it to &lt;linux/kbd_kern.h&gt;, correct the type of the second parameter, and
include &lt;linux/kbd_kern.h&gt; where needed.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode</title>
<updated>2007-03-17T02:25:05Z</updated>
<author>
<name>Andrew Johnson</name>
<email>ajohnson@intrinsyc.com</email>
</author>
<published>2007-03-16T21:38:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b257bc051f06607beb3004d9a1c297085e728bec'/>
<id>urn:sha1:b257bc051f06607beb3004d9a1c297085e728bec</id>
<content type='text'>
When the console is in VT_AUTO+KD_GRAPHICS mode, switching to the
SUSPEND_CONSOLE fails, resulting in vt_waitactive() waiting indefinitely or
until the task is interrupted.  This patch tests if a console switch can
occur in set_console() and returns early if a console switch is not
possible.

[akpm@linux-foundation.org: cleanup]
Signed-off-by: Andrew Johnson &lt;ajohnson@intrinsyc.com&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>WorkStruct: Separate delayable and non-delayable events.</title>
<updated>2006-11-22T14:54:01Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2006-11-22T14:54:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c'/>
<id>urn:sha1:52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c</id>
<content type='text'>
Separate delayable work items from non-delayable work items be splitting them
into a separate structure (delayed_work), which incorporates a work_struct and
the timer_list removed from work_struct.

The work_struct struct is huge, and this limits it's usefulness.  On a 64-bit
architecture it's nearly 100 bytes in size.  This reduces that by half for the
non-delayable type of event.

Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] remove active field from tty buffer structure</title>
<updated>2006-06-28T21:59:05Z</updated>
<author>
<name>Paul Fulghum</name>
<email>paulkf@microgate.com</email>
</author>
<published>2006-06-28T11:26:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=33b37a33c242542fac2980b8ccd90977388b7a8d'/>
<id>urn:sha1:33b37a33c242542fac2980b8ccd90977388b7a8d</id>
<content type='text'>
Remove 'active' field from tty buffer structure.  This was added in 2.6.16
as part of a patch to make the new tty buffering SMP safe.  This field is
unnecessary with the more intelligently written flush_to_ldisc that adds
receive_room handling.

Removing this field reverts to simpler logic where the tail buffer is
always the 'active' buffer, which should not be freed by flush_to_ldisc.
(active == buffer being filled with new data)

The result is simpler, smaller, and faster tty buffer code.

Signed-off-by: Paul Fulghum &lt;paulkf@microgate.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Theodore Ts'o &lt;tytso@mit.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Input: add support for Braille devices</title>
<updated>2006-04-02T05:10:28Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2006-04-02T05:10:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b9ec4e109d7a342e83e1210e05797222e36555c3'/>
<id>urn:sha1:b9ec4e109d7a342e83e1210e05797222e36555c3</id>
<content type='text'>
- Add KEY_BRL_* input keys and K_BRL_* keycodes;
- Add emulation of how braille keyboards usually combine braille dots
  to the console keyboard driver;
- Add handling of unicode U+28xy diacritics.

Signed-off-by: Samuel Thibault &lt;samuel.thibault@ens-lyon.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>[PATCH] tty buffering stall fix</title>
<updated>2006-02-10T16:13:12Z</updated>
<author>
<name>Paul Fulghum</name>
<email>paulkf@microgate.com</email>
</author>
<published>2006-02-10T09:51:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8977d929e49021d9a6e031310aab01fa72f849c2'/>
<id>urn:sha1:8977d929e49021d9a6e031310aab01fa72f849c2</id>
<content type='text'>
Prevent stalled processing of received data when a driver allocates tty
buffer space but does not immediately follow the allocation with more data
and a call to schedule receive tty processing.  (example: hvc_console) This
bug was introduced by the first locking patch for the new tty buffering.

Signed-off-by: Paul Fulghum &lt;paulkf@microgate.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] new tty buffering locking fix</title>
<updated>2006-02-03T16:32:09Z</updated>
<author>
<name>Paul Fulghum</name>
<email>paulkf@microgate.com</email>
</author>
<published>2006-02-03T11:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=808249ceba49cdb3054c0aa5b75a61862d6cab94'/>
<id>urn:sha1:808249ceba49cdb3054c0aa5b75a61862d6cab94</id>
<content type='text'>
Change locking in the new tty buffering facility from using tty-&gt;read_lock,
which is currently ignored by drivers and thus ineffective.  New locking
uses a new tty buffering specific lock enforced centrally in the tty
buffering code.

Two drivers (esp and cyclades) are updated to use the tty buffering
functions instead of accessing tty buffering internals directly.  This is
required for the new locking to work.

Minor checks for NULL buffers added to
tty_prepare_flip_string/tty_prepare_flip_string_flags

Signed-off-by: Paul Fulghum &lt;paulkf@microgate.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
