This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: disk access mutex's
- From: Jeff Cooper <jeffc at logicpd dot com>
- To: Savin Zlobec <savin at elatec dot si>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Thu, 2 Sep 2004 08:02:48 -0500
- Subject: [ECOS] Re: disk access mutex's
- References: <413573BC.7080403@elatec.si>
- Reply-to: jeffc at logicpd dot com
On Wednesday 01 September 2004 02:01 am, Savin Zlobec wrote:
> Jeff Cooper wrote:
> >One thing I'm curious about is the lack of mutex's when accessing the CF
> >hardware in the Elatec driver.
> >
> >Is contention for the disk device handled at a layer higher up than the
> > device driver? I've been digging through the source for the io disk and
> > haven't found any kind of access control.
> >
> >Am I just missing where this is being handled? If so, can anyone point
> > me in the right direction?
>
> If you intend to access several partitions simultaneousely or one
> partition through an fs
> that doesn't serialize its io operations, then the disk io funs should
> be mutex protected.
>
> In any case you are right io_disk need an mutex and it should be in
> disk.c not in lower layers.
Thanks for the info!
What would be the advantage to handling mutex's in a higher layer rather than
a lower one?
The only one I can thing of would be that the device driver writer wouldn't
have to be concerned about knowing where to place the protection and could
assume that read/write calls are atomic.
But couldn't that also be considered a disadvantage as well?
My thought is that someone writing a device driver for a particular piece of
hardware should know when the hardware needs mutex protection. Doing it in
the lower layers would allow a finer grain of control over when the hardware
is blocked.
Thoughts?
thanks,
Jeff
--
Jeff Cooper
Senior Embedded Software Engineer
jeffc@logicpd.com
612-436-5176
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss