• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Does Linux actually do UDMA66, or just 33 on a 66?

bubba

Golden Member

I am curious as to whether Linux actually does UDMA66, or just UDMA33 on a UDMA66.

- On a BP6 Highpoint controller?
- On a UDMA66 controller on a Via 133A board?

 
It's not really a matter of the kernel "doing" ATA66, it's a matter of getting the hardware IO parameters recognized "by" the kernel.

I think RH 7.0 and Mandrake 7.2 will recognize these devices automatically. Other distros you have to patch the kernel then pass the parameters to the kernel.
 

Right, I have heard that Mandrake and Redhat's newest releases will recognize the controller and configure to use it, but only at UDMA33. Is there any way to test whether it has negotiated a 66 connection?
 
You can try hdparm -Tt /dev/hdx, where x is the drive you going to test (e.g. a=primary master, b=primary slave, etc.).

However, I doubt you'd see anything sustained over (timed buffer read) 33Mbs.
 
well, the LM7 install has this checkbox called "hard drive optimizations". I checked it with the 7.2 beta 3 and my machine couldn't boot. It would get to the point where it detects my HPT366-connected drives and just hang (not even a kernel panic message). I *think* these optimizations make use of hdparm. That same checkbox seems to be fine on my i810 (ATA66 included, right?) machine at work.

-SUO
 
# Optimisation of Hard drive.
if grep -qi opti /proc/cmdline || [ -n "$HDPARM" ]; then
if [ -x /sbin/hdparm ];then
LIST_HD=$(grep '^hd.:' /var/log/dmesg|\
grep -ivE '(CD.*ROM|DVD.*ROM|FLOPPY|TAPE|STATUS)'|cut -d: -f1|sort|uniq)

if grep -i nohdparm /proc/cmdline >/dev/null ; then
action "Hard Drive optimisations disabled" \
echo ""
else
for i in $LIST_HD;do
action "Starting Hard Drive optimisations for $i" \
hdparm -q -c1 -q -A1 -q -m16 -q -d1 /dev/$i
done
fi
fi
fi

That's the chunk of code that does it.

I'm not going to explain it only because it would take up too much space to do so, however, the line you want to look is:

hdparm -q -c1 -q -A1 -q -m16 -q -d1

Just issue and hdparm and you can see what those switches do.
 
Back
Top