public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: jim owens <jowens@hp.com>
Cc: Martin Knoblauch <knobi@knobisoft.de>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Kay Sievers <kay.sievers@vrfy.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	efault@gmx.de, viro@zeniv.linux.org.uk, rjw@sisk.pl,
	linux-kernel@vger.kernel.org, shemminger@vyatta.com,
	mike.miller@hp.com, linux-pci@vger.kernel.org
Subject: Re: Analyzed/Solved/Bisected: Booting 2.6.30-rc2-git7 very slow
Date: Sat, 20 Jun 2009 10:58:53 -0600	[thread overview]
Message-ID: <20090620165853.GL19977@parisc-linux.org> (raw)
In-Reply-To: <4A3D104E.9060105@hp.com>

On Sat, Jun 20, 2009 at 12:37:34PM -0400, jim owens wrote:
> Martin Knoblauch wrote:
>> ----- Original Message ----
>>
>>> From: Jesse Barnes <jbarnes@virtuousgeek.org>
>>> To: Martin Knoblauch <knobi@knobisoft.de>
>>> Cc: Kay Sievers <kay.sievers@vrfy.org>; Andrew Morton <akpm@linux-foundation.org>; efault@gmx.de; viro@zeniv.linux.org.uk; rjw@sisk.pl; linux-kernel@vger.kernel.org; shemminger@vyatta.com; matthew@wil.cx; mike.miller@hp.com
>>> Sent: Tuesday, June 16, 2009 9:25:47 PM
>>> Subject: Re: Analyzed/Solved/Bisected: Booting 2.6.30-rc2-git7 very slow
>>  Not sure about the VPD thing. Anyway, no real news. Still happens in 2.6.30. But it only happens on a certain HW platform (HP/DL380G4). The folks at HP try to reproduce in their environment.
>
> I reproduced this and verified Martin's analysis.  Conclusions:
>
>    - >>> | none /sys sysfs rw 0 0
>
> is because the initrd "umount /sys" fails with EBUSY
>
>    |commit 1120f8b8169fb2cb51219d326892d963e762edb6
>    |Author: Stephen Hemminger <shemminger@vyatta.com>
>    |Date:   Thu Dec 18 09:17:16 2008 -0800
>    |
>    |    PCI: handle long delays in VPD access
>
> does not have a bug.  The longer timeout makes the problem visible.
>
> /sys is busy because udev is trying to read the vpd and the
> cciss pci device always fails the vpd with ETIMEOUT.  If all
> timeouts are before or after the umount, no firmware load problem.
>
> IMO there is either a vpd read bug on this platform or it is
> unsupported and ETIMEOUT is the wrong error.
>
> ... now I punt this to the HP platform/driver people.

OK, let's add the PCI list in on this too ...

There are a bunch of PCI devices with buggy VPD.  I've got one (it's a prototype card, I think, so I shan't name the vendor).  lspci reports:

        Capabilities: [84] Vital Product Data
                Unknown small resource type 00
[last line repeated about 32768 times]

and it takes for-freaking-ever.  I posted a patch to pciutils on May
13th to fix this:

---

I have several cards which report more-or-less garbage in their VPD.
It can take an extraordinarily long time to read all their VPD and none
of it is of interest.  Instead, if we find an unknown resource type,
just stop trying to read any more.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>

diff --git a/ls-vpd.c b/ls-vpd.c
index f50d7a4..1ba917f 100644
--- a/ls-vpd.c
+++ b/ls-vpd.c
@@ -204,7 +204,7 @@ cap_vpd(struct device *d)
 	default:
 	  printf("\t\tUnknown %s resource type %02x\n",
 		 (tag & 0x80) ? "large" : "small", tag & ~0x80);
-	  break;
+	  return;
 	}
 
       res_addr += res_len;

-----

but I don't know what udev is doing.  The udev source doesn't seem to
read PCI vpd itself:

udev-0.141$ find -type f |xargs grep -il vpd
./extras/volume_id/lib/adaptec_raid.c
./extras/scsi_id/scsi_id.8
./extras/scsi_id/scsi.h
./extras/scsi_id/scsi_id.config
./extras/scsi_id/scsi_serial.c

so there must be some script that it's invoking which is doing that.
Anyone familiar with udev?

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

  reply	other threads:[~2009-06-20 16:59 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27 11:25 Analyzed/Solved/Bisected: Booting 2.6.30-rc2-git7 very slow Martin Knoblauch
2009-05-27 20:31 ` Andrew Morton
2009-05-27 20:56   ` Kay Sievers
2009-05-28  9:14     ` Martin Knoblauch
2009-06-16 19:25       ` Jesse Barnes
2009-06-17  8:35         ` Martin Knoblauch
2009-06-20 16:37           ` jim owens
2009-06-20 16:58             ` Matthew Wilcox [this message]
2009-06-20 18:19               ` Kay Sievers
2009-06-20 18:26                 ` Matthew Wilcox
2009-06-20 18:36                   ` Kay Sievers
2009-06-20 19:06                     ` Matthew Wilcox
2009-06-20 21:17                       ` jim owens
2009-06-21 10:57                         ` Martin Knoblauch
2009-06-21 13:50                           ` jim owens
2009-06-21 10:54             ` Martin Knoblauch
  -- strict thread matches above, loose matches on Subject: below --
2009-05-20 11:01 Martin Knoblauch
2009-04-24 12:45 Analyzed/Solved: " Martin Knoblauch
2009-04-29  1:28 ` Andrew Morton
2009-04-29  3:51   ` Mike Galbraith
2009-04-29  8:17     ` Andrew Morton
2009-04-29 12:08       ` Al Viro
2009-04-29 14:18         ` Mike Galbraith
2009-05-05 22:49           ` Andrew Morton
2009-05-06  4:45             ` Mike Galbraith
2009-05-06  7:55               ` Martin Knoblauch
2009-05-06  8:37                 ` Mike Galbraith
2009-05-20 10:22                   ` Analyzed/Solved/Bisected: " Martin Knoblauch
2009-05-27  6:31                     ` Andrew Morton
2009-05-27  9:14                       ` Martin Knoblauch
2009-05-27 11:21                       ` Matthew Wilcox
2009-05-27 11:53                         ` Martin Knoblauch
2009-05-27 18:07                           ` jim owens
2009-05-27 18:18                             ` Miller, Mike (OS Dev)
2009-05-27 20:12                               ` jim owens
2009-05-27 21:18                                 ` Miller, Mike (OS Dev)
2009-05-28  8:59                               ` Martin Knoblauch
2009-05-28 19:01                                 ` Miller, Mike (OS Dev)
2009-05-28 20:48                                   ` Martin Knoblauch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090620165853.GL19977@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=akpm@linux-foundation.org \
    --cc=efault@gmx.de \
    --cc=jbarnes@virtuousgeek.org \
    --cc=jowens@hp.com \
    --cc=kay.sievers@vrfy.org \
    --cc=knobi@knobisoft.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mike.miller@hp.com \
    --cc=rjw@sisk.pl \
    --cc=shemminger@vyatta.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox