Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df051434 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge commit 'v2.6.29-rc1' into sched/urgent

parents 805194c3 c5976504
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 28
EXTRAVERSION =
SUBLEVEL = 29
EXTRAVERSION = -rc1
NAME = Erotic Pickled Herring

# *DOCUMENTATION*
+3 −0
Original line number Diff line number Diff line
@@ -2660,6 +2660,9 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
	host->iomap = pcim_iomap_table(pdev);
	host->private_data = hpriv;

	if (!(hpriv->cap & HOST_CAP_SSS))
		host->flags |= ATA_HOST_PARALLEL_SCAN;

	if (pi.flags & ATA_FLAG_EM)
		ahci_reset_em(host);

+11 −0
Original line number Diff line number Diff line
@@ -5920,6 +5920,17 @@ static void async_port_probe(void *data, async_cookie_t cookie)
{
	int rc;
	struct ata_port *ap = data;

	/*
	 * If we're not allowed to scan this host in parallel,
	 * we need to wait until all previous scans have completed
	 * before going further.
	 * Jeff Garzik says this is only within a controller, so we
	 * don't need to wait for port 0, only for later ports.
	 */
	if (!(ap->host->flags & ATA_HOST_PARALLEL_SCAN) && ap->port_no != 0)
		async_synchronize_cookie(cookie);

	/* probe */
	if (ap->ops->error_handler) {
		struct ata_eh_info *ehi = &ap->link.eh_info;
+1 −0
Original line number Diff line number Diff line
@@ -239,6 +239,7 @@ enum {
	/* host set flags */
	ATA_HOST_SIMPLEX	= (1 << 0),	/* Host is simplex, one DMA channel per host only */
	ATA_HOST_STARTED	= (1 << 1),	/* Host started */
	ATA_HOST_PARALLEL_SCAN	= (1 << 2),	/* Ports on this host can be scanned in parallel */

	/* bits 24:31 of host->flags are reserved for LLD specific flags */

+42 −4
Original line number Diff line number Diff line
@@ -41,11 +41,13 @@ use strict;

my %start;
my %end;
my %type;
my $done = 0;
my $maxtime = 0;
my $firsttime = 100;
my $count = 0;
my %pids;
my %pidctr;

while (<>) {
	my $line = $_;
@@ -53,6 +55,7 @@ while (<>) {
		my $func = $2;
		if ($done == 0) {
			$start{$func} = $1;
			$type{$func} = 0;
			if ($1 < $firsttime) {
				$firsttime = $1;
			}
@@ -63,12 +66,40 @@ while (<>) {
		$count = $count + 1;
	}

	if ($line =~ /([0-9\.]+)\] async_waiting @ ([0-9]+)/) {
		my $pid = $2;
		my $func;
		if (!defined($pidctr{$pid})) {
			$func = "wait_" . $pid . "_1";
			$pidctr{$pid} = 1;
		} else {
			$pidctr{$pid} = $pidctr{$pid} + 1;
			$func = "wait_" . $pid . "_" . $pidctr{$pid};
		}
		if ($done == 0) {
			$start{$func} = $1;
			$type{$func} = 1;
			if ($1 < $firsttime) {
				$firsttime = $1;
			}
		}
		$pids{$func} = $pid;
		$count = $count + 1;
	}

	if ($line =~ /([0-9\.]+)\] initcall ([a-zA-Z0-9\_]+)\+.*returned/) {
		if ($done == 0) {
			$end{$2} = $1;
			$maxtime = $1;
		}
	}

	if ($line =~ /([0-9\.]+)\] async_continuing @ ([0-9]+)/) {
		my $pid = $2;
		my $func =  "wait_" . $pid . "_" . $pidctr{$pid};
		$end{$func} = $1;
		$maxtime = $1;
	}
	if ($line =~ /Write protecting the/) {
		$done = 1;
	}
@@ -105,6 +136,8 @@ $styles[9] = "fill:rgb(255,255,128);fill-opacity:0.5;stroke-width:1;stroke:rgb(0
$styles[10] = "fill:rgb(255,128,255);fill-opacity:0.5;stroke-width:1;stroke:rgb(0,0,0)";
$styles[11] = "fill:rgb(128,255,255);fill-opacity:0.5;stroke-width:1;stroke:rgb(0,0,0)";

my $style_wait = "fill:rgb(128,128,128);fill-opacity:0.5;stroke-width:0;stroke:rgb(0,0,0)";

my $mult = 1950.0 / ($maxtime - $firsttime);
my $threshold2 = ($maxtime - $firsttime) / 120.0;
my $threshold = $threshold2/10;
@@ -139,6 +172,10 @@ foreach my $key (@initcalls) {
			$stylecounter = 0;
		};

		if ($type{$key} == 1) {
			$y = $y + 15;
			print "<rect x=\"$s\" width=\"$w\" y=\"$y\" height=\"115\" style=\"$style_wait\"/>\n";
		} else {
			print "<rect x=\"$s\" width=\"$w\" y=\"$y\" height=\"145\" style=\"$style\"/>\n";
			if ($duration >= $threshold2) {
				print "<text transform=\"translate($s2,$y2) rotate(90)\">$key</text>\n";
@@ -147,6 +184,7 @@ foreach my $key (@initcalls) {
			}
		}
	}
}


# print the time line on top