Date: Wed, 18 Nov 2009 22:29:01 +0100 From: Ivan Voras <ivoras@freebsd.org> To: Alexander Motin <mav@freebsd.org> Cc: FreeBSD-Current <freebsd-current@freebsd.org> Subject: Re: How do I use NCQ of Intel X25-E(SSD) on ahci(4)? Message-ID: <9bbcef730911181329l14ca1e79xf18a4c6f3d0b04c0@mail.gmail.com> In-Reply-To: <4B043751.7080302@FreeBSD.org> References: <4B042304.8060807@FreeBSD.org> <mailpost.1258563606.7337474.35089.mailing.freebsd.current@FreeBSD.cs.nctu.edu.tw> <4B043751.7080302@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/11/18 Alexander Motin <mav@freebsd.org>: > Ivan Voras wrote: >> I know next to nothing about AHCI and drivers so this might be obviously >> wrong but wouldn't a quick (i.e. MFC-able) obvious temporary fix be to say >> >> numslots = min(get_minimum_tags_of_all_drives(), ...) >> ? > > Problem is that SIM driver has no idea about devices capabilities, and > also doesn't have method to resize queue after attach. In SCSI case, > tags are random and only simultaneous number of request is limited, and > this is handled fine by CAM. SATA NCQ is more restrictive, allowing to > use only tags 0..(N-1). I am planning to make XPT inform SIM about > supported tags for each device, to allow SIM to use that information > while scheduling requests. I didn't do it yet, just because most of > devices able to handle all 32 tags possible on SATA. This Intel SSD is > one of rare exceptions. Ok, (still thinking about something that could be MFC-able in an emergency), how about adding a loader tunable integer instead of "32"?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9bbcef730911181329l14ca1e79xf18a4c6f3d0b04c0>