Am 16.04.2014 18:04, schrieb Ors Tiszay:
> 
> I understand that search ROM is costly, but:
> 
> 1. on reading uncached, owfs should, like you say, update its view on the
> bus. Nevertheless, this does not seem to happen:
> 
> # ls -la /mnt/owfs/uncached/1F.F96B08000000/aux/30.4CF9B8120000/
> 
> # ls -la /mnt/owfs/1F.F96B08000000/aux/30.4CF9B8120000/
> 
Both times you don't trigger Search ROM. That happens only when you read
the /uncached directory itself, or /bus.N/uncached or .../aux/uncached.

When you address a single device, you have to check the "present" node
in the uncached tree to trigger a bus action. Or read some node with is
actually connected with IO. Reading the device directory does nothing.
It doesn't even need the cache, as the layout of the device directory is
built into the driver code.


> 
> 2. Even the cache has a limited lifetime, as shown here:
> 
The following is only if I remember correct, Paul can sure give a more
exact answer:


>  Cache timing         [default] (in seconds)
>   --timeout_volatile  [ 15] Expiration time for changing data (e.g.
> temperature)
>
That means: When not reading through the "uncached" tree, the minimum
time between bus actions on a device is limited to 15s. If you poll more
often, you get a cached value in the meantime. It *doesn't* mean the
cached value will be deleted after 15s, it's still there after hours,
just invalidated if the device isn't there anymore.

Check the uncached "present" node of the device to tell the difference,
or read the uncached directory node (costly) to sort out gone devices.


>   --timeout_stable    [300] Expiration time for stable data (e.g.
> temperature limit)
>
Same here, just tuned differently in the device handler.


>   --timeout_directory [ 60] Expiration of directory lists
> 
This is the same for directory listings in / , bus.0/, .../aux, etc.
When you poll these often, you get a cached value for 60s and only after
60s another poll will do a "Search ROM" and update the cache. (But only
for the listing, not for the devices itself!)


>   --timeout_presence  [120] Expiration of known 1-wire device location
>
This is when you poll the "present" node of a device node without
prefixing it with "uncached". 120s of boredom while you get a "1"
reading present before an actual check on the bus is made. If you don't
read "present" or an IO on the device (e.g. only the device directory,
see above), the device is considered still being there. IIRC.


>
> this DS2762, but this one seems to persist even across reboots,
>
This shouldn't be of course. OWFS had to include the actual device id to
create such a behaviour, which isn't feasible. Please re-check this.


Kind regards

        Jan

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to