seems like you could macroize or better yet functionize the loop:
+ (void) rw_enter(&afsifinfo_lock, RW_READER);
+
+ for (i = 0; afsifinfo[i].ipaddr != NULL; i++) {
...
rw_exit()
?
On 9/26/07, Dale Ghent <[EMAIL PROTECTED]> wrote:
>
>
> Here's a candidate patch for those of you running any version of
> Solaris 10, or have hopes of running OpenAFS on Solaris 10 8/07
> (update 4);
>
> This patch removes use of the non-Public ILL structures by OpenAFS to
> gather network interface information in order to make RX packet size
> and server locality decisions. I replaced it with a Solaris taskq(9f)
> that executes a function which polls the network interfaces on the
> machine and populates a global array with collected information.
> Network information consumers then walk this array to gain the info
> they require. This polling function, by default, runs every 30 seconds.
>
> I made a design change from previous versions in that I dispensed
> with the while(1) loop for the polling mechanism. The osi_NetIfPoller
> function now chains itself.
>
> The interval between polls may be adjusted either by /etc/system or
> in real time by the use of mdb:
>
> Set afs interface poll interval to 15 seconds using /etc/system:
> set afs:afs_if_poll_interval=15
>
> Get current poll interval using mdb:
> # echo afs_if_poll_interval/D | mdb -k
> afs_if_poll_interval:
> afs_if_poll_interval: 30
>
> Set a new poll interval to 15 seconds (in hex):
> # echo "afs_if_poll_interval/W 0f" | mdb -kw
> afs_if_poll_interval: 0x1e = 0xf
>
> You may see if the poller is doing its job by watching the "executed"
> line of the afs_taskq kstat:
> # kstat -n afs_taskq
> module: unix instance: 0
> name: afs_taskq class: taskq
> crtime 141.142208577
> executed 126
> maxtasks 1
> nactive 2
> nalloc 0
> priority 60
> snaptime 2286.25972396
> tasks 126
> threads 2
> totaltime 28790720
>
> The following patch applies against OpenAFS 1.4.4. I urge that it be
> tested on any version of Solaris that you may have at your disposal,
> not just 10u4. Please discuss any issues on the -devel list.
>
> http://elektronkind.org/outbox/afs/openafs-s10u4-compat.patch
>
> /dale
> --
> Dale Ghent
> Specialist, Storage and UNIX Systems
> UMBC - Office of Information Technology
> ECS 201 - x51705
>
>
>
> _______________________________________________
> OpenAFS-devel mailing list
> [email protected]
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>