[dcmf] Lockless ROMIO driver
Rajeev Thakur
thakur at mcs.anl.gov
Wed Feb 13 11:12:35 CST 2008
NFS caches data at the clients and the caches are not coherent. Furthermore,
the caches get flushed at page (or some such) granularity, so even if two
processes write to different parts of the file that are on the same page,
one client's write may overwrite the other's. So we need to disable the
client caches, and the only way we found was to call fcntl file locks around
each read and write. Therefore, the ad_nfs device has such locks. If you
know of some other way to disable the client cache, these locks can be
avoided.
Now, there are a couple of places where ROMIO really needs to lock, e.g.,
when it uses data sieving for noncontiguous writes, which does a
read-modify-write. Also for implementing shared file pointers. For these
cases, the locks are called in all devices including ad_ufs. On file systems
that don't support locks, these two features are not supported (data sieving
is not used for noncontiguous writes and shared file pointers are not
supported).
Rajeev
_____
From: dcmf-bounces at lists.anl-external.org
[mailto:dcmf-bounces at lists.anl-external.org] On Behalf Of Bob Cernohous
Sent: Wednesday, February 13, 2008 11:02 AM
To: dcmf at lists.anl-external.org
Subject: Re: [dcmf] Lockless ROMIO driver
Could someone give me a brief synopsis or pointer to the "locking issues"
with NFS? I'd like to understand it better and maybe discuss this with our
GPFS experts. I just wonder if it's better, long term, to go lockless in
ad_bgl and build bgl+nfs as a fallback for NFS? It's certainly something
we could explore on this list, but I don't know if/when it would make it
into an IBM release. There's certainly some "process" we're still
inventing/exploring here on this list.
Rob, I didn't have time yet to dig into your patch. But I suspect you have
not applied my recent patches from this list to your source. I think there
might be a conflict. I'll look into it later. I'm moving my office today,
plus I've been swamped with some side issues.
Bob Cernohous: (T/L 553) 507-253-6093
BobC at us.ibm.com
IBM Rochester, Building 030-2(C335), Department 61L
3605 Hwy 52 North, Rochester, MN 55901-7829
> Chaos reigns within.
> Reflect, repent, and reboot.
> Order shall return.
> These patches re-introduce ad_ufs to ROMIO, but do so in a lock-freeway.
This
> is my first git experience, so sorry for the messy subject lines.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/dcmf/attachments/20080213/0b8d4a56/attachment.htm>
More information about the dcmf
mailing list