Re: Freeze or panic during boot was: Re: CVS commit: src/sys/dev/ata
On Sat, 2 May 2020, 20:10 Jason Thorpe, wrote: > > > On May 1, 2020, at 1:07 PM, Ryo ONODERA wrote: > > > > Hi, > > > > Have you missed this thread? > > > > If the problem requires more time to investigate, > > could you consider to revert ata change for a while? > > > > Thank you. > > I backed it out, but would appreciate some help tracking down the issue > because no other problems were reported other than on these specific > machines. > The T480 is my main machine but I'm happy to boot any test kernels (to confirm, - current as of the 30th with just that one commit reverted runs fine) Thanks David >
Re: Freeze or panic during boot was: Re: CVS commit: src/sys/dev/ata
> On May 1, 2020, at 1:07 PM, Ryo ONODERA wrote: > > Hi, > > Have you missed this thread? > > If the problem requires more time to investigate, > could you consider to revert ata change for a while? > > Thank you. I backed it out, but would appreciate some help tracking down the issue because no other problems were reported other than on these specific machines. -- thorpej
Freeze or panic during boot was: Re: CVS commit: src/sys/dev/ata
Hi, Have you missed this thread? If the problem requires more time to investigate, could you consider to revert ata change for a while? Thank you. Alexander Nasonov writes: > David Brownlee wrote: >> Just another data point - seeing this same panic on a T480 with the >> latest kernel from nyftp > > Same problem on T470. > > -- > Alex -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Re: CVS commit: src/sys/dev/ata
Plus to confirm reverting just this commit from today's github copy of current (d5b32e03eac8b05d38a143ee0ec615efb2233201) boots fine on the T480 Thanks On Thu, 30 Apr 2020 at 00:12, Alexander Nasonov wrote: > > David Brownlee wrote: > > Just another data point - seeing this same panic on a T480 with the > > latest kernel from nyftp > > Same problem on T470. > > -- > Alex
Re: CVS commit: src/sys/dev/ata
David Brownlee wrote: > Just another data point - seeing this same panic on a T480 with the > latest kernel from nyftp Same problem on T470. -- Alex
Re: CVS commit: src/sys/dev/ata
Just another data point - seeing this same panic on a T480 with the latest kernel from nyftp
Re: CVS commit: src/sys/dev/ata
Ryo ONODERA writes: > Hi, > > After this commit, NetBSD/amd64-current on my HP Spectre x360 > freezes after acpiacad0 detection (before ld0 detection). > Reverting this commit in latest tree fixes my freeze problem. > > Could you take a look at my problem? > > Thank you. > > === === === > cpu7: CPU max freq 40 Hz > cpu7: TSC freq 199200 Hz > timecounter: Timecounter "TSC" frequency 199200 Hz quality 3000 > uhub0 at usb0: NetBSD (0x) xHCI root hub (0x), class 9/0, rev > 3.00/1.00, > addr 0 > uhub0: 6 ports with 6 removable, self powered > uhub1 at usb1: NetBSD (0x) xHCI root hub (0x), class 9/0, rev > 2.00/1.00, > addr 0 > uhub1: 12 ports with 12 removable, self powered > acpiacad0: AC adapter online. > > (With this commit, freeze here) > > ld0: GPT GUID: 3fda58df-424f-4b48-9fb9-b4c5c037379e > dk0 at ld0: "EFI", 262144 blocks at 2048, type: ntfs > dk1 at ld0: "ROOT", 66955885 blocks at 266240, type: ffs > === === === With LOCKDEBUG option, I have gotten the following panic messages: panic: TAILQ_INSERT_TAIL 0xd305ab82ae0 /usr/src/sys/dev/pckbport/pckbport.c:531 cpu0: Begin traceback... vpanic() at netbsd:vpanic+0x178 snprintf() at netbsd:snprintf pckbport_enqueue_cmd() at netbsd:pckbport_enqueue_cmd+0x3c0 pms_reset_thread() at netbsd:pms_reset_thread+0x94 cpu0: End traceback... Thank you. -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Re: CVS commit: src/sys/dev/ata
Hi, After this commit, NetBSD/amd64-current on my HP Spectre x360 freezes after acpiacad0 detection (before ld0 detection). Reverting this commit in latest tree fixes my freeze problem. Could you take a look at my problem? Thank you. === === === cpu7: CPU max freq 40 Hz cpu7: TSC freq 199200 Hz timecounter: Timecounter "TSC" frequency 199200 Hz quality 3000 uhub0 at usb0: NetBSD (0x) xHCI root hub (0x), class 9/0, rev 3.00/1.00, addr 0 uhub0: 6 ports with 6 removable, self powered uhub1 at usb1: NetBSD (0x) xHCI root hub (0x), class 9/0, rev 2.00/1.00, addr 0 uhub1: 12 ports with 12 removable, self powered acpiacad0: AC adapter online. (With this commit, freeze here) ld0: GPT GUID: 3fda58df-424f-4b48-9fb9-b4c5c037379e dk0 at ld0: "EFI", 262144 blocks at 2048, type: ntfs dk1 at ld0: "ROOT", 66955885 blocks at 266240, type: ffs === === === "Jason R Thorpe" writes: > Module Name: src > Committed By: thorpej > Date: Sat Apr 25 00:07:27 UTC 2020 > > Modified Files: > src/sys/dev/ata: ata.c ata_subr.c atavar.h > > Log Message: > Rather than creating a kthread-per-channel, use a threadpool and a > threadpool-job-per-channel for the in-thread-context work that needs > to be done (which is rare). > > On one of my test systems, this results in the total number of LWPs > after multi-user boot dropping from 116 to 78. > > > To generate a diff of this commit: > cvs rdiff -u -r1.155 -r1.156 src/sys/dev/ata/ata.c > cvs rdiff -u -r1.9 -r1.10 src/sys/dev/ata/ata_subr.c > cvs rdiff -u -r1.105 -r1.106 src/sys/dev/ata/atavar.h > > Please note that diffs are not public domain; they are subject to the > copyright notices on the relevant files. > -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Re: CVS commit: src/sys/dev/ata
On Fri, 25 Jul 2014, David A. Holland wrote: Modified Files: src/sys/dev/ata: wd.c Log Message: Drop the old discard/trim ioctls from wd.c. - case DIOCGDISCARDPARAMS: { - case DIOCDISCARD: { These never appeared in a release, so I suppose there's no need to implement these ioctls in any compat code. --apb (Alan Barrett)
Re: CVS commit: src/sys/dev/ata
On Oct 16, 2011, at 9:25 PM, John Nemeth wrote: > On Feb 25, 1:28pm, Wolfgang Solfrank wrote: > } Jonathan A. Kollasch schrieb: > } > On Wed, Oct 05, 2011 at 10:25:52AM +0200, Manuel Bouyer wrote: > } >> On Wed, Oct 05, 2011 at 03:40:18AM +, Jonathan A. Kollasch wrote: > } >>> Module Name:src > } >>> Committed By: jakllsch > } >>> Date: Wed Oct 5 03:40:18 UTC 2011 > } >>> > } >>> Modified Files: > } >>> src/sys/dev/ata: wd.c > } >>> > } >>> Log Message: > } >>> Limit wd(4) transfers to 128 (512-byte) logical sectors, as the > traditional > } >>> MAXPHYS value has for at least the past decade. > } >> > } >> We should be able to go safely up to 256 sectors. Anything larger > requires > } >> LBA48, which is not supported by some controllers. > } > > } > Do we know how a real ST506 or similar ancient drive would respond > } > to such a command? > } > } The ST506 was only a disk drive with no embedded controller logic. > } So it wouldn't respond to such a command at all, as it doesn't even see it. > } The command interface, after which the original ATA interface was modelled, > } was that of the WD1010 disk controller, to which this and similar drives > } would attach. You would tell the controller the cylinder/head/sector > > And, I very much doubt there were any PCI versions of these > controllers since IDE came out well before the end of the ISA era. > Worrying about drives that old is pretty much pointless. Even if you > could find one, it is very likely to be non-functional (these weren't > exactly high quality devices). You can still buy ESDI devices (that are compatible with the ST506 interface). Ebay has them from $35 to $535! Sizes up to 750MB. I was able to find ISA and Micro Channel ESDI cards. I didn't see EISA or PCI ones either on Ebay or Google... So I think you may be right about PCI. IIRC, the only machines that had these were 386 boxes that weren't lucky enough to have IDE (the frankenstein machines of the time, since by then multi-function cards with IDE were the common solution) and some of the 68k early home machines (Atari and Amiga maybe) and sun 3's. Warner
Re: CVS commit: src/sys/dev/ata
On Feb 25, 1:28pm, Wolfgang Solfrank wrote: } Jonathan A. Kollasch schrieb: } > On Wed, Oct 05, 2011 at 10:25:52AM +0200, Manuel Bouyer wrote: } >> On Wed, Oct 05, 2011 at 03:40:18AM +, Jonathan A. Kollasch wrote: } >>> Module Name: src } >>> Committed By: jakllsch } >>> Date: Wed Oct 5 03:40:18 UTC 2011 } >>> } >>> Modified Files: } >>> src/sys/dev/ata: wd.c } >>> } >>> Log Message: } >>> Limit wd(4) transfers to 128 (512-byte) logical sectors, as the traditional } >>> MAXPHYS value has for at least the past decade. } >> } >> We should be able to go safely up to 256 sectors. Anything larger requires } >> LBA48, which is not supported by some controllers. } > } > Do we know how a real ST506 or similar ancient drive would respond } > to such a command? } } The ST506 was only a disk drive with no embedded controller logic. } So it wouldn't respond to such a command at all, as it doesn't even see it. } The command interface, after which the original ATA interface was modelled, } was that of the WD1010 disk controller, to which this and similar drives } would attach. You would tell the controller the cylinder/head/sector And, I very much doubt there were any PCI versions of these controllers since IDE came out well before the end of the ISA era. Worrying about drives that old is pretty much pointless. Even if you could find one, it is very likely to be non-functional (these weren't exactly high quality devices). }-- End of excerpt from Wolfgang Solfrank
Re: CVS commit: src/sys/dev/ata
On Wed, Oct 05, 2011 at 06:52:37PM +0200, Wolfgang Solfrank wrote: > ... You would tell the controller the cylinder/head/sector > of the first sector you wanted to read, and when multiple sectors were > requested, the controller would increment only the sector number. > Since the controller wouldn't even know the number of sectors on a track, > it wouldn't be able to cross a track boundary. I suspect some PC BIOS/floppy have that 'feature'! IIRC there is a bug booting from floppies with less than 8k/track due to the way bootxx_xxxfs gets loaded. There has been some confusion about the difference between reads for multiple sectors and the 'multi-sector' read feature. The latter changes the interface slightly - I think it means you only get one data/dma request burst for multiple sectors. With LBA reads the underlying (reported) geometry shouldn't matter. But yes, avoiding requests for 256 sectors is probably a good idea! David -- David Laight: da...@l8s.co.uk
Re: CVS commit: src/sys/dev/ata
Hi, Jonathan A. Kollasch schrieb: On Wed, Oct 05, 2011 at 10:25:52AM +0200, Manuel Bouyer wrote: On Wed, Oct 05, 2011 at 03:40:18AM +, Jonathan A. Kollasch wrote: Module Name:src Committed By: jakllsch Date: Wed Oct 5 03:40:18 UTC 2011 Modified Files: src/sys/dev/ata: wd.c Log Message: Limit wd(4) transfers to 128 (512-byte) logical sectors, as the traditional MAXPHYS value has for at least the past decade. We should be able to go safely up to 256 sectors. Anything larger requires LBA48, which is not supported by some controllers. Do we know how a real ST506 or similar ancient drive would respond to such a command? The ST506 was only a disk drive with no embedded controller logic. So it wouldn't respond to such a command at all, as it doesn't even see it. The command interface, after which the original ATA interface was modelled, was that of the WD1010 disk controller, to which this and similar drives would attach. You would tell the controller the cylinder/head/sector of the first sector you wanted to read, and when multiple sectors were requested, the controller would increment only the sector number. Since the controller wouldn't even know the number of sectors on a track, it wouldn't be able to cross a track boundary. > Then again, maybe we shouldn't care until someone reports it doesn't work. Given that the ST506 had a capacity of 5 MB (yes, megabytes!), this is most likely reasonable. > Currently we limit transfers to 255 sectors. Presumably we're assuming that the register value of 0 used for 256 might be mishandled. IIRC there were some early IDE drives that had this problem. Ciao, Wolfgang -- wolfg...@solfrank.net Wolfgang Solfrank
Re: CVS commit: src/sys/dev/ata
On Wed, Oct 05, 2011 at 10:25:52AM +0200, Manuel Bouyer wrote: > On Wed, Oct 05, 2011 at 03:40:18AM +, Jonathan A. Kollasch wrote: > > Module Name:src > > Committed By: jakllsch > > Date: Wed Oct 5 03:40:18 UTC 2011 > > > > Modified Files: > > src/sys/dev/ata: wd.c > > > > Log Message: > > Limit wd(4) transfers to 128 (512-byte) logical sectors, as the traditional > > MAXPHYS value has for at least the past decade. > > We should be able to go safely up to 256 sectors. Anything larger requires > LBA48, which is not supported by some controllers. Do we know how a real ST506 or similar ancient drive would respond to such a command? Then again, maybe we shouldn't care until someone reports it doesn't work. Currently we limit transfers to 255 sectors. Presumably we're assuming that the register value of 0 used for 256 might be mishandled. Jonathan Kollasch
Re: CVS commit: src/sys/dev/ata
On Wed, Oct 05, 2011 at 03:40:18AM +, Jonathan A. Kollasch wrote: > Module Name: src > Committed By: jakllsch > Date: Wed Oct 5 03:40:18 UTC 2011 > > Modified Files: > src/sys/dev/ata: wd.c > > Log Message: > Limit wd(4) transfers to 128 (512-byte) logical sectors, as the traditional > MAXPHYS value has for at least the past decade. We should be able to go safely up to 256 sectors. Anything larger requires LBA48, which is not supported by some controllers. -- Manuel Bouyer NetBSD: 26 ans d'experience feront toujours la difference --
Re: CVS commit: src/sys/dev/ata
On Thu, 5 May 2011, Jonathan A. Kollasch wrote: Hmmm, not sure this is working: {135} ident /netbsd | grep ' ata.c' $NetBSD: ata.c,v 1.115 2011/04/30 00:34:03 jakllsch Exp $ {136} drvctl -r atabus2 drvctl: DRVRESCANBUS: Invalid argument {137} dmesg | grep atabus3 atabus3 at ahcisata0 channel 3 {138} Am I missing something? Yeah, you need to use something along the lines of: drvctl -r -a ata_hl atabus2 Kewl! {141} drvctl -r -a ata_hl atabus3 {142} dmesg | grep atabus3 atabus3 at ahcisata0 channel 3 wd3 at atabus3 drive 0 {143} Thanks for quick response! - | Paul Goyette | PGP Key fingerprint: | E-mail addresses: | | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com| | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net | | Kernel Developer | | pgoyette at netbsd.org | -
Re: CVS commit: src/sys/dev/ata
On Thu, May 05, 2011 at 07:42:35AM -0700, Paul Goyette wrote: > >Module Name:src > >Committed By: jakllsch > >Date: Sat Apr 30 00:34:03 UTC 2011 > > > >Modified Files: > >src/sys/dev/ata: ata.c atavar.h > > > >Log Message: > >Add simplistic atabus(4) rescan support. > > > Hmmm, not sure this is working: > > {135} ident /netbsd | grep ' ata.c' > $NetBSD: ata.c,v 1.115 2011/04/30 00:34:03 jakllsch Exp $ > {136} drvctl -r atabus2 > drvctl: DRVRESCANBUS: Invalid argument > {137} dmesg | grep atabus3 > atabus3 at ahcisata0 channel 3 > {138} > > > Am I missing something? Yeah, you need to use something along the lines of: drvctl -r -a ata_hl atabus2 Jonathan Kollasch
Re: CVS commit: src/sys/dev/ata
Module Name:src Committed By: jakllsch Date: Sat Apr 30 00:34:03 UTC 2011 Modified Files: src/sys/dev/ata: ata.c atavar.h Log Message: Add simplistic atabus(4) rescan support. Hmmm, not sure this is working: {135} ident /netbsd | grep ' ata.c' $NetBSD: ata.c,v 1.115 2011/04/30 00:34:03 jakllsch Exp $ {136} drvctl -r atabus2 drvctl: DRVRESCANBUS: Invalid argument {137} dmesg | grep atabus3 atabus3 at ahcisata0 channel 3 {138} Am I missing something? If this actually works, it should find the hard drive that I just inserted into this hot-swap dock. - | Paul Goyette | PGP Key fingerprint: | E-mail addresses: | | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com| | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net | | Kernel Developer | | pgoyette at netbsd.org | -