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

I am working on a Sun X4600 with 16 AMD64 cores.
[EMAIL PROTECTED] uname -a
SunOS dev 5.10 Generic_120012-14 i86pc i386 i86pc


I've applied this patch to a fresh download of the 1.4.4 source. It applied cleanly. I built the source with the Sun Studio 11, and made dest. I installed the userland binaries and the kernel modules.I did not tweak afs_if_poll_interval. I only tested the client; I do not run our server instances.

[EMAIL PROTECTED] modinfo |grep afs
161 ffffffffef697000  b26c0  65   1  afs (afs syscall interface)
161 ffffffffef697000  b26c0  65   1  afs (afs syscall interface(32 bit))
161 ffffffffef697000  b26c0  23   1  afs (afs filesystem)

[EMAIL PROTECTED] pwd
/afs/msu.edu/user/m/k/mk/home


[EMAIL PROTECTED] time rm -rf devhome
Real: 0.53s User: 0.00s System: 0.05s Percent: 9% Cmd: rm -rf devhome
[EMAIL PROTECTED] du -h devhome.tar
 111M   devhome.tar
[EMAIL PROTECTED] time tar -xf devhome.tar
Real: 161.00s User: 0.12s System: 9.13s Percent: 5% Cmd: tar -xf devhome.tar

[EMAIL PROTECTED] sudo kstat -n afs_taskq
module: unix                            instance: 0
name:   afs_taskq                       class:    taskq
        crtime                          512.726134758
        executed                        50
        maxtasks                        1
        nactive                         2
        nalloc                          0
        priority                        60
        snaptime                        2003.716393381
        tasks                           50
        threads                         2
        totaltime                       10678353

Everything seems to be fine at this point. Thank you very much for your work Dale. My team relies on AFS for homedirs and other uses, so we will all be testing it over the coming weeks. I will certainly speak up if we have trouble.

Thanks again,

./mk

--
Matt Kolb  <[EMAIL PROTECTED]>
Academic Computing & Network Services
Michigan State University

_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to