Remove obsolete TODO.zfs file

The file has not been updated since May 2013 so perhaps it's time to finally
remove it...

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
sched: add "sched_preempt" tracepoint

Before commit 5f5b6144a5950e5b6897450a51f424ab28df3812, we had a
sched_preempt tracepoint. The tracepoint still exists, but it wasn't
used. This patch uses it again, with a different meaning.

What "sched_preempt" marks now is a case where a running thread
was preempted. I.e., the scheduler switched to a different thread
despite the original thread still being runnable.

Note that every sched_preempt event is also a sched_switch event.

In practice, a "sched_preempt" can happen in one of four basic cases:

1. The running thread wake()s another thread on the same CPU, and
   the scheduler decides to switch to the woken thread instead of
   continuing to run the waker.

2. Similarly, an interrupt handler can wake() a thread on this CPU
   and reschedule, and if the scheduler decides to switch threads,
   this is a preemption. This happens, for example, when a thread
   waits on a timer.

3. The preemption timer expired, causing the scheduler to run and
   notice that another thread has become the one with the lowest
   runtime, so it runs that thread instead of the running one.

4. Another CPU woke up one of this CPU's threads, and sent this CPU
   an IPI. The sheduler runs and can decide to switch to the newly
   woken thread.

Note: currently, when a 1-vcpu OSv is completely idle, we see 1000
sched_preempt's per second. This is expected, because of the
page_scanner_thread: This thread timer to wake it 1000 times a second,
and each time it is woken it preempts the *idle thread* which is
runnable all the time.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
gdb: rework 'osv zfs' to provide better ARC data

New output:
(gdb) osv zfs
:: ZFS TUNABLES ::
	zil_replay_disable:       0
	zfs_nocacheflush:         0
	zfs_prefetch_disable:     0
	zfs_no_write_throttle:    0
	zfs_txg_timeout:          5
	zfs_write_limit_override: 0
	vdev_min_pending:         4
	vdev_max_pending:         10

:: ARC SIZES ::
	Current size:    1493512 (1 MB)
	Target size:     1341923840 (1279 MB)
	Min target size: 167740480 (159 MB)
	Max target size: 1341923840 (1279 MB)

:: ARC SIZE BREAKDOWN ::
	Most recently used cache size:   670961920 (639 MB) (50.00%)
	Most frequently used cache size: 670961920 (639 MB) (50.00%)

:: ARC EFFICIENCY ::
	Cache access total:  136422
	Cache hit ratio:     132326 (97.00%)
	Cache miss ratio:    4096 (3.00%)
	REAL hit ratio:      132751 (97.31%)

	Data demand efficiency:   99.99%
	Data prefetch efficiency: 0.00%

:: CACHE HITS BY CACHE LIST ::
	Most recently used:           108539 (82.02%)
	Most frequently used:         24212 (18.30%)
	Most recently used (Ghost):   0 (0.00%)
	Most frequently used (Ghost): 0 (0.00%)

:: CACHE HITS BY DATA TYPE ::
	Demand data:       127471 (96.33%)
	Prefetch data:     0 (0.00%)
	Demand metadata:   4855 (3.67%)
	Prefetch metadata: 0 (0.00%)

:: CACHE MISSES BY DATA TYPE ::
	Demand data:       8 (0.20%)
	Prefetch data:     3998 (97.61%)
	Demand metadata:   86 (2.10%)
	Prefetch metadata: 4 (0.10%)

:: ARC HASH INFO ::
	Total hash elements: 4103
	Max hash elements:   4103
	Hash collisions:     77
	Hash chains:         55

Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>