Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
XPERIENCE NOTE:
===============

Reuploaded Kernel for fix Netfilter issues


















=========================================================================

Linux kernel release 3.x <http://kernel.org/>

These are the release notes for Linux version 3. Read them carefully,
Expand Down
9 changes: 5 additions & 4 deletions arch/arm/mach-tegra/edp.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

/*
* arch/arm/mach-tegra/edp.c
*
Expand Down Expand Up @@ -362,10 +363,10 @@ void __init tegra_init_cpu_edp_limits(unsigned int regulator_mA)

for (j = 0; j < edp_limits_size; j++) {
e[j].temperature = (int)t[i+j].temperature;
e[j].freq_limits[0] = (unsigned int)t[i+j].freq_limits[0] * 10000;
e[j].freq_limits[1] = (unsigned int)t[i+j].freq_limits[1] * 10000;
e[j].freq_limits[2] = (unsigned int)t[i+j].freq_limits[2] * 10000;
e[j].freq_limits[3] = (unsigned int)t[i+j].freq_limits[3] * 10000;
e[j].freq_limits[0] = (unsigned int)t[i+j].freq_limits[0]+10 * 10000;
e[j].freq_limits[1] = (unsigned int)t[i+j].freq_limits[1]+20 * 10000;
e[j].freq_limits[2] = (unsigned int)t[i+j].freq_limits[2]+20 * 10000;
e[j].freq_limits[3] = (unsigned int)t[i+j].freq_limits[3]+20 * 10000;
}

if (edp_limits != edp_default_limits)
Expand Down
76 changes: 52 additions & 24 deletions block/Kconfig.iosched
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,21 @@ config IOSCHED_DEADLINE
a new point in the service tree and doing a batch of IO from there
in case of expiry.

config IOSCHED_ROW
tristate "ROW I/O scheduler"
---help---
The ROW I/O scheduler gives priority to READ requests over the
WRITE requests when dispatching, without starving WRITE requests.
Requests are kept in priority queues. Dispatching is done in a RR
manner when the dispatch quantum for each queue is calculated
according to queue priority.
Most suitable for mobile devices.

config IOSCHED_ZEN
tristate "ZEN I/O scheduler"
---help---
STUB.

config IOSCHED_CFQ
tristate "CFQ I/O scheduler"
# If BLK_CGROUP is a module, CFQ has to be built as module.
Expand All @@ -43,27 +58,22 @@ config CFQ_GROUP_IOSCHED
---help---
Enable group IO scheduling in CFQ.

config IOSCHED_BFQ
tristate "BFQ I/O scheduler"
depends on EXPERIMENTAL
config IOSCHED_SIO
tristate "Simple I/O scheduler"
default y
---help---
The Simple I/O scheduler is an extremely simple scheduler,
based on noop and deadline, that relies on deadlines to
ensure fairness. The algorithm does not do any sorting but
basic merging, trying to keep a minimum overhead. It is aimed
mainly for aleatory access devices (eg: flash devices).

config IOSCHED_VR
tristate "V(R) I/O scheduler"
default n
---help---
The BFQ I/O scheduler tries to distribute bandwidth among
all processes according to their weights.
It aims at distributing the bandwidth as desired, independently of
the disk parameters and with any workload. It also tries to
guarantee low latency to interactive and soft real-time
applications. If compiled built-in (saying Y here), BFQ can
be configured to support hierarchical scheduling.

config CGROUP_BFQIO
bool "BFQ hierarchical scheduling support"
depends on CGROUPS && IOSCHED_BFQ=y
default n
---help---
Enable hierarchical scheduling in BFQ, using the cgroups
filesystem interface. The name of the subsystem will be
bfqio.
Requests are chosen according to SSTF with a penalty of rev_penalty
for switching head direction.

choice
prompt "Default I/O scheduler"
Expand All @@ -75,24 +85,42 @@ choice
config DEFAULT_DEADLINE
bool "Deadline" if IOSCHED_DEADLINE=y

config DEFAULT_ROW
bool "ROW" if IOSCHED_ROW=y
help
The ROW I/O scheduler gives priority to READ requests
over the WRITE requests when dispatching, without starving
WRITE requests. Requests are kept in priority queues.
Dispatching is done in a RR manner when the dispatch quantum
for each queue is defined according to queue priority.
Most suitable for mobile devices.

config DEFAULT_ZEN
bool "ZEN" if IOSCHED_ZEN=y

config DEFAULT_CFQ
bool "CFQ" if IOSCHED_CFQ=y

config DEFAULT_BFQ
bool "BFQ" if IOSCHED_BFQ=y

config DEFAULT_NOOP
bool "No-op"

config DEFAULT_SIO
bool "SIO" if IOSCHED_SIO=y

config DEFAULT_VR
bool "V(R)" if IOSCHED_VR=y

endchoice

config DEFAULT_IOSCHED
string
default "deadline" if DEFAULT_DEADLINE
default "row" if DEFAULT_ROW
default "zen" if DEFAULT_ZEN
default "cfq" if DEFAULT_CFQ
default "bfq" if DEFAULT_BFQ
default "noop" if DEFAULT_NOOP

default "sio" if DEFAULT_SIO
default "vr" if DEFAULT_VR
endmenu

endif
5 changes: 4 additions & 1 deletion block/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
obj-$(CONFIG_IOSCHED_SIO) += sio-iosched.o
obj-$(CONFIG_IOSCHED_VR) += vr-iosched.o

obj-$(CONFIG_IOSCHED_ZEN) += zen-iosched.o

obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o
11 changes: 11 additions & 0 deletions block/blk.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ void __generic_unplug_device(struct request_queue *);
*/
enum rq_atomic_flags {
REQ_ATOM_COMPLETE = 0,
REQ_ATOM_URGENT = 1,
};

/*
Expand All @@ -46,6 +47,16 @@ static inline void blk_clear_rq_complete(struct request *rq)
clear_bit(REQ_ATOM_COMPLETE, &rq->atomic_flags);
}

static inline int blk_mark_rq_urgent(struct request *rq)
{
return test_and_set_bit(REQ_ATOM_URGENT, &rq->atomic_flags);
}

static inline void blk_clear_rq_urgent(struct request *rq)
{
clear_bit(REQ_ATOM_URGENT, &rq->atomic_flags);
}

/*
* Internal elevator interface
*/
Expand Down
4 changes: 2 additions & 2 deletions block/deadline-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
*/
static const int read_expire = HZ / 2; /* max time before a read is submitted. */
static const int write_expire = 5 * HZ; /* ditto for writes, these limits are SOFT! */
static const int writes_starved = 2; /* max times reads can starve a write */
static const int fifo_batch = 16; /* # of sequential requests treated as one
static const int writes_starved = 1; /* max times reads can starve a write */
static const int fifo_batch = 1; /* # of sequential requests treated as one
by the above parameters. For throughput. */

struct deadline_data {
Expand Down
Loading