Re: [RFC][CFT] GEOM direct dispatch and fine-grained CAM locking

From: Olivier Cochard-Labbé <olivier_at_cochard.me>
Date: Wed, 4 Sep 2013 18:31:20 +0200
On Wed, Sep 4, 2013 at 9:01 AM, Alexander Motin <mav_at_freebsd.org> wrote:
>
>> - HP EliteBook 8460p (amd64: r255188) with DVD replaced by a second
>> hardrive (where fbsd is installed): It crash just after the message
>> "GEOM: new disk ada1" during boot
>>
>> screenshot of the crash screen:
>> http://goo.gl/tW1VIx
>>
>> A little more information:
>> addr2line -e /boot/kernel/kernel.symbols 0xffffffff8083abd3
>> /usr/src/sys/geom/geom_io.c:129
>
>
> Unfortunately I can't reproduce that and have not enough clues. It may be
> specific to some GEOM class. Could you describe/show all GEOM topology, file
> systems, etc. you have there?
> gpart show
> sysctl kern.geom.confxml
> ...

Here are:
- ada0: internal laptop hard-drive
- ada1: the hard-drive that replace my DVD reader (partition 2: /boot
in clear, partition 3: geli encrypted partition)
=> There is no special boot-loader, I manually select the hard-drive during
Hardware:
ahci0: <Intel Cougar Point AHCI SATA controller> port
0x4088-0x408f,0x4094-0x4097,0x4080-0x4087,0x4090-0x4093,0x4040-0x405f
mem 0xd4827000-0xd48277ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <TOSHIBA MK3261GSYN MH000C> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: <WDC WD5000BPKT-00PK4T0 01.01A01> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C)
ada1: quirks=0x1<4K>
ada1: Previously was known as ad6


Regarding partition:

root_at_laptop:/root # gpart show
=>       63  625142385  ada0  MBR  (298G)
         63       1985        - free -  (992k)
       2048   31457280     1  ntfs  (15G)
   31459328    4194304     2  ntfs  [active]  (2.0G)
   35653632  589486768     3  ntfs  (281G)
  625140400       2048        - free -  (1.0M)

=>       34  976773101  ada1  GPT  (465G)
         34          6        - free -  (3.0k)
         40        128     1  freebsd-boot  (64k)
        168    4194304     2  freebsd-ufs  (2.0G)
    4194472  972578656     3  freebsd-ufs  (463G)
  976773128          7        - free -  (3.5k)

And here is the long output of geom configuration:

root_at_laptop:/root # sysctl kern.geom.confxml
kern.geom.confxml: <mesh>
  <class id="0xffffffff81314720">
    <name>FD</name>
  </class>
  <class id="0xffffffff812b6408">
    <name>RAID</name>
  </class>
  <class id="0xffffffff812b3ae8">
    <name>DEV</name>
    <geom id="0xfffff800104e9700">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada1p3.eli</name>
      <rank>4</rank>
<consumer id="0xfffff80010579d00">
 <geom ref="0xfffff800104e9700"/>
 <provider ref="0xfffff800105be400"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104ea700">
      <class ref="0xffffffff812b3ae8"/>
      <name>gpt/boot</name>
      <rank>4</rank>
<consumer id="0xfffff80010579d80">
 <geom ref="0xfffff800104ea700"/>
 <provider ref="0xfffff800104ea500"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104e1400">
      <class ref="0xffffffff812b3ae8"/>
      <name>gptid/1c841adf-3cde-11e2-8cfc-a0b3cc295ab2</name>
      <rank>4</rank>
<consumer id="0xfffff80010530780">
 <geom ref="0xfffff800104e1400"/>
 <provider ref="0xfffff800104eaa00"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104eae00">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada1p3</name>
      <rank>3</rank>
<consumer id="0xfffff8001048dd00">
 <geom ref="0xfffff800104eae00"/>
 <provider ref="0xfffff800104ead00"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104eb100">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada1p2</name>
      <rank>3</rank>
<consumer id="0xfffff8001049de80">
 <geom ref="0xfffff800104eb100"/>
 <provider ref="0xfffff800104eb000"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104eb700">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada1p1</name>
      <rank>3</rank>
<consumer id="0xfffff8001049df00">
 <geom ref="0xfffff800104eb700"/>
 <provider ref="0xfffff800104eb200"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104d8100">
      <class ref="0xffffffff812b3ae8"/>
      <name>ntfs/System</name>
      <rank>4</rank>
<consumer id="0xfffff8001049e080">
 <geom ref="0xfffff800104d8100"/>
 <provider ref="0xfffff800104d8000"/>
 <mode>r1w1e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104d8300">
      <class ref="0xffffffff812b3ae8"/>
      <name>ntfs/BDEDrive</name>
      <rank>4</rank>
<consumer id="0xfffff8001049e100">
 <geom ref="0xfffff800104d8300"/>
 <provider ref="0xfffff800104d8200"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff80010459c00">
      <class ref="0xffffffff812b3ae8"/>
      <name>ntfs/Recovery</name>
      <rank>4</rank>
<consumer id="0xfffff8001048df00">
 <geom ref="0xfffff80010459c00"/>
 <provider ref="0xfffff800104d8400"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff80010459e00">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada1</name>
      <rank>2</rank>
<consumer id="0xfffff8001048e000">
 <geom ref="0xfffff80010459e00"/>
 <provider ref="0xfffff80010459d00"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104d8800">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada0s3</name>
      <rank>3</rank>
<consumer id="0xfffff8001044c900">
 <geom ref="0xfffff800104d8800"/>
 <provider ref="0xfffff800104d8700"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff800104e1a00">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada0s2</name>
      <rank>3</rank>
<consumer id="0xfffff8001044c980">
 <geom ref="0xfffff800104e1a00"/>
 <provider ref="0xfffff800104d8900"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff8000e026c00">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada0s1</name>
      <rank>3</rank>
<consumer id="0xfffff8001044ca00">
 <geom ref="0xfffff8000e026c00"/>
 <provider ref="0xfffff800104d8b00"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
    <geom id="0xfffff8000e1d6400">
      <class ref="0xffffffff812b3ae8"/>
      <name>ada0</name>
      <rank>2</rank>
<consumer id="0xfffff8001044de00">
 <geom ref="0xfffff8000e1d6400"/>
 <provider ref="0xfffff8000e1d6000"/>
 <mode>r0w0e0</mode>
</consumer>
    </geom>
  </class>
  <class id="0xffffffff81716268">
    <name>ELI</name>
    <geom id="0xfffff800104e9900">
      <class ref="0xffffffff81716268"/>
      <name>ada1p3.eli</name>
      <rank>3</rank>
      <config>
<KeysTotal>928</KeysTotal> <KeysAllocated>928</KeysAllocated>
<Flags>BOOT</Flags>
<UsedKey>0</UsedKey>
<Version>6</Version>
<Crypto>hardware</Crypto>
<KeyLength>256</KeyLength>
<EncryptionAlgorithm>AES-XTS</EncryptionAlgorithm>
<State>ACTIVE</State>
      </config>
<consumer id="0xfffff80010530f00">
 <geom ref="0xfffff800104e9900"/>
 <provider ref="0xfffff800104ead00"/>
 <mode>r1w1e1</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800105be400">
 <geom ref="0xfffff800104e9900"/>
 <mode>r1w1e1</mode>
 <name>ada1p3.eli</name>
 <mediasize>497960271360</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
 </config>
</provider>
    </geom>
  </class>
  <class id="0xffffffff812b5548">
    <name>PART</name>
    <geom id="0xfffff800104e1700">
      <class ref="0xffffffff812b5548"/>
      <name>ada1</name>
      <rank>2</rank>
      <config>
<scheme>GPT</scheme>
<entries>128</entries>
<first>34</first>
<last>976773134</last>
<fwsectors>63</fwsectors>
<fwheads>16</fwheads>
<state>OK</state>
<modified>false</modified>
      </config>
<consumer id="0xfffff8001049e200">
 <geom ref="0xfffff800104e1700"/>
 <provider ref="0xfffff80010459d00"/>
 <mode>r2w2e5</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104ead00">
 <geom ref="0xfffff800104e1700"/>
 <mode>r1w1e1</mode>
 <name>ada1p3</name>
 <mediasize>497960271872</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <start>4194472</start>
   <end>976773127</end>
   <index>3</index>
   <type>freebsd-ufs</type>
   <offset>2147569664</offset>
   <length>497960271872</length>
   <label>root</label>
   <rawtype>516e7cb6-6ecf-11d6-8ff8-00022d09712b</rawtype>
   <rawuuid>c8e5c3ff-3cde-11e2-8cfc-a0b3cc295ab2</rawuuid>
 </config>
</provider>
<provider id="0xfffff800104eb000">
 <geom ref="0xfffff800104e1700"/>
 <mode>r1w1e2</mode>
 <name>ada1p2</name>
 <mediasize>2147483648</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <start>168</start>
   <end>4194471</end>
   <index>2</index>
   <type>freebsd-ufs</type>
   <offset>86016</offset>
   <length>2147483648</length>
   <label>boot</label>
   <rawtype>516e7cb6-6ecf-11d6-8ff8-00022d09712b</rawtype>
   <rawuuid>874bc9a6-3cde-11e2-8cfc-a0b3cc295ab2</rawuuid>
 </config>
</provider>
<provider id="0xfffff800104eb200">
 <geom ref="0xfffff800104e1700"/>
 <mode>r0w0e0</mode>
 <name>ada1p1</name>
 <mediasize>65536</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <start>40</start>
   <end>167</end>
   <index>1</index>
   <type>freebsd-boot</type>
   <offset>20480</offset>
   <length>65536</length>
   <label></label>
   <rawtype>83bd6b9d-7f41-11dc-be0b-001560b84f0f</rawtype>
   <rawuuid>1c841adf-3cde-11e2-8cfc-a0b3cc295ab2</rawuuid>
 </config>
</provider>
    </geom>
    <geom id="0xfffff8001045a200">
      <class ref="0xffffffff812b5548"/>
      <name>ada0</name>
      <rank>2</rank>
      <config>
<scheme>MBR</scheme>
<entries>4</entries>
<first>63</first>
<last>625142447</last>
<fwsectors>63</fwsectors>
<fwheads>16</fwheads>
<state>OK</state>
<modified>false</modified>
      </config>
<consumer id="0xfffff8001044cb80">
 <geom ref="0xfffff8001045a200"/>
 <provider ref="0xfffff8000e1d6000"/>
 <mode>r1w1e2</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104d8700">
 <geom ref="0xfffff8001045a200"/>
 <mode>r1w1e1</mode>
 <name>ada0s3</name>
 <mediasize>301817225216</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>1074790400</stripeoffset>
 <config>
   <start>35653632</start>
   <end>625140399</end>
   <index>3</index>
   <type>ntfs</type>
   <offset>18254659584</offset>
   <length>301817225216</length>
   <rawtype>7</rawtype>
 </config>
</provider>
<provider id="0xfffff800104d8900">
 <geom ref="0xfffff8001045a200"/>
 <mode>r0w0e0</mode>
 <name>ada0s2</name>
 <mediasize>2147483648</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>3222274048</stripeoffset>
 <config>
   <start>31459328</start>
   <end>35653631</end>
   <index>2</index>
   <type>ntfs</type>
   <offset>16107175936</offset>
   <length>2147483648</length>
   <rawtype>7</rawtype>
   <attrib>active</attrib>
 </config>
</provider>
<provider id="0xfffff800104d8b00">
 <geom ref="0xfffff8001045a200"/>
 <mode>r0w0e0</mode>
 <name>ada0s1</name>
 <mediasize>16106127360</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>1048576</stripeoffset>
 <config>
   <start>2048</start>
   <end>31459327</end>
   <index>1</index>
   <type>ntfs</type>
   <offset>1048576</offset>
   <length>16106127360</length>
   <rawtype>7</rawtype>
 </config>
</provider>
    </geom>
  </class>
  <class id="0xffffffff812b4768">
    <name>LABEL</name>
    <geom id="0xfffff800104ea600">
      <class ref="0xffffffff812b4768"/>
      <name>ada1p2</name>
      <rank>3</rank>
      <config>
      </config>
<consumer id="0xfffff8001048db80">
 <geom ref="0xfffff800104ea600"/>
 <provider ref="0xfffff800104eb000"/>
 <mode>r1w1e2</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104ea500">
 <geom ref="0xfffff800104ea600"/>
 <mode>r1w1e1</mode>
 <name>gpt/boot</name>
 <mediasize>2147483648</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <index>0</index>
   <length>2147483648</length>
   <seclength>4194304</seclength>
   <offset>0</offset>
   <secoffset>0</secoffset>
 </config>
</provider>
    </geom>
    <geom id="0xfffff800104e1000">
      <class ref="0xffffffff812b4768"/>
      <name>ada1p1</name>
      <rank>3</rank>
      <config>
      </config>
<consumer id="0xfffff8001048dc80">
 <geom ref="0xfffff800104e1000"/>
 <provider ref="0xfffff800104eb200"/>
 <mode>r0w0e0</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104eaa00">
 <geom ref="0xfffff800104e1000"/>
 <mode>r0w0e0</mode>
 <name>gptid/1c841adf-3cde-11e2-8cfc-a0b3cc295ab2</name>
 <mediasize>65536</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <index>0</index>
   <length>65536</length>
   <seclength>128</seclength>
   <offset>0</offset>
   <secoffset>0</secoffset>
 </config>
</provider>
    </geom>
    <geom id="0xfffff80010459900">
      <class ref="0xffffffff812b4768"/>
      <name>ada0s3</name>
      <rank>3</rank>
      <config>
      </config>
<consumer id="0xfffff8001047d300">
 <geom ref="0xfffff80010459900"/>
 <provider ref="0xfffff800104d8700"/>
 <mode>r1w1e1</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104d8000">
 <geom ref="0xfffff80010459900"/>
 <mode>r1w1e0</mode>
 <name>ntfs/System</name>
 <mediasize>301817225216</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>1074790400</stripeoffset>
 <config>
   <index>0</index>
   <length>301817225216</length>
   <seclength>589486768</seclength>
   <offset>0</offset>
   <secoffset>0</secoffset>
 </config>
</provider>
    </geom>
    <geom id="0xfffff800104e1900">
      <class ref="0xffffffff812b4768"/>
      <name>ada0s2</name>
      <rank>3</rank>
      <config>
      </config>
<consumer id="0xfffff8001047d380">
 <geom ref="0xfffff800104e1900"/>
 <provider ref="0xfffff800104d8900"/>
 <mode>r0w0e0</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104d8200">
 <geom ref="0xfffff800104e1900"/>
 <mode>r0w0e0</mode>
 <name>ntfs/BDEDrive</name>
 <mediasize>2147483648</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>3222274048</stripeoffset>
 <config>
   <index>0</index>
   <length>2147483648</length>
   <seclength>4194304</seclength>
   <offset>0</offset>
   <secoffset>0</secoffset>
 </config>
</provider>
    </geom>
    <geom id="0xfffff80010459b00">
      <class ref="0xffffffff812b4768"/>
      <name>ada0s1</name>
      <rank>3</rank>
      <config>
      </config>
<consumer id="0xfffff8001047d480">
 <geom ref="0xfffff80010459b00"/>
 <provider ref="0xfffff800104d8b00"/>
 <mode>r0w0e0</mode>
 <config>
 </config>
</consumer>
<provider id="0xfffff800104d8400">
 <geom ref="0xfffff80010459b00"/>
 <mode>r0w0e0</mode>
 <name>ntfs/Recovery</name>
 <mediasize>16106127360</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>1048576</stripeoffset>
 <config>
   <index>0</index>
   <length>16106127360</length>
   <seclength>31457280</seclength>
   <offset>0</offset>
   <secoffset>0</secoffset>
 </config>
</provider>
    </geom>
  </class>
  <class id="0xffffffff813067a8">
    <name>SWAP</name>
  </class>
  <class id="0xffffffff812b4588">
    <name>VFS</name>
    <geom id="0xfffff800104dfc00">
      <class ref="0xffffffff812b4588"/>
      <name>ffs.gpt/boot</name>
      <rank>4</rank>
<consumer id="0xfffff8001048dc00">
 <geom ref="0xfffff800104dfc00"/>
 <provider ref="0xfffff800104ea500"/>
 <mode>r1w1e1</mode>
</consumer>
    </geom>
    <geom id="0xfffff800105f4e00">
      <class ref="0xffffffff812b4588"/>
      <name>ffs.ada1p3.eli</name>
      <rank>4</rank>
<consumer id="0xfffff80010581100">
 <geom ref="0xfffff800105f4e00"/>
 <provider ref="0xfffff800105be400"/>
 <mode>r1w1e1</mode>
</consumer>
    </geom>
  </class>
  <class id="0xffffffff8124a8a0">
    <name>MD</name>
  </class>
  <class id="0xffffffff812b3db0">
    <name>DISK</name>
    <geom id="0xfffff800104d8500">
      <class ref="0xffffffff812b3db0"/>
      <name>ada1</name>
      <rank>1</rank>
      <config>
      </config>
<provider id="0xfffff80010459d00">
 <geom ref="0xfffff800104d8500"/>
 <mode>r2w2e5</mode>
 <name>ada1</name>
 <mediasize>500107862016</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>4096</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <fwheads>16</fwheads>
   <fwsectors>63</fwsectors>
   <ident>WD-WX81A1179372</ident>
   <lunid>50014ee601049a6a</lunid>
   <descr>WDC WD5000BPKT-00PK4T0</descr>
 </config>
</provider>
    </geom>
    <geom id="0xfffff8000e1d6100">
      <class ref="0xffffffff812b3db0"/>
      <name>ada0</name>
      <rank>1</rank>
      <config>
      </config>
<provider id="0xfffff8000e1d6000">
 <geom ref="0xfffff8000e1d6100"/>
 <mode>r1w1e2</mode>
 <name>ada0</name>
 <mediasize>320072933376</mediasize>
 <sectorsize>512</sectorsize>
 <stripesize>0</stripesize>
 <stripeoffset>0</stripeoffset>
 <config>
   <fwheads>16</fwheads>
   <fwsectors>63</fwsectors>
   <ident>82JRT2VVT</ident>
   <lunid>5000039431d04c9c</lunid>
   <descr>TOSHIBA MK3261GSYN</descr>
 </config>
</provider>
    </geom>
  </class>
</mesh>
Received on Wed Sep 04 2013 - 14:31:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC