Skip site navigation (1)Skip section navigation (2)
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>