[OpenAFS-devel] [REVIEW] Can haz Solaris 10 8/07 compatibility patch

Dale Ghent daleg@umbc.edu
Thu, 27 Sep 2007 15:33:42 -0400


FWIW, I updated the patch to kill a benign compile warning (now the  
code introduces no /additional/ warnings over what's normally spewed)  
and fixed the potentially unfriendly act of the code taking a long  
walk off a short struct when there are > 16 interfaces up on a system.

/dale

On Sep 26, 2007, at 7:35 PM, Dale Ghent 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
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>

--
Dale Ghent
Specialist, Storage and UNIX Systems
UMBC - Office of Information Technology
ECS 201 - x51705