Re: Packet loss every 30.999 seconds



* David G Lawrence <dg@xxxxxxxxxxxxxx> [071221 23:31] wrote:
Can you use a placeholder vnode as a place to restart the scan?
you might have to mark it special so that other threads/things
(getnewvnode()?) don't molest it, but it can provide for a convenient
restart point.

That was one of the solutions that I considered and rejected since it
would significantly increase the overhead of the loop.
The solution provided by Kostik Belousov that uses uio_yield looks like
a find solution. I intend to try it out on some servers RSN.

Out of curiosity's sake, why would it make the loop slower? one
would only add the placeholder when yielding, not for every iteration.

Actually, I misread your suggestion and was thinking marker flag,
rather than placeholder vnode. Sorry about that. The current code
actually already uses a marker vnode. It is hidden and obfuscated in
the MNT_VNODE_FOREACH macro, further hidden in the __mnt_vnode_first/next
functions, so it should be safe from vnode reclaimation/free problems.

That level of obscuring is a bit worrysome.

Yes, I did mean placeholder vnode.

Even so, is it of utility or not?

Or is it already being used and I'm missing something and should
just "utsl" at this point?

--
- Alfred Perlstein
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Packet loss every 30.999 seconds
    ... why would it make the loop slower? ... Actually, I misread your suggestion and was thinking marker flag, ... rather than placeholder vnode. ... actually already uses a marker vnode. ...
    (freebsd-net)
  • Re: Packet loss every 30.999 seconds
    ... why would it make the loop slower? ... Actually, I misread your suggestion and was thinking marker flag, ... rather than placeholder vnode. ... actually already uses a marker vnode. ...
    (freebsd-stable)
  • Re: Packet loss every 30.999 seconds
    ... restart point. ... why would it make the loop slower? ... Actually, I misread your suggestion and was thinking marker flag, ... I did mean placeholder vnode. ...
    (freebsd-stable)