Saliya's Blogs

Mostly technical stuff with some interesting moments of life

Slow Performance with Intet AC 7260 Wireless Card

No comments
I recently purchases an Intel dual band AC-7260 pcie card to replace the existing wireless adapter in my desktop machine. Here’s the amzon link http://www.amazon.com/Intel-Wireless-Bluetooth-Desktops-7260HMWDTX1h-R/dp/B00X68U0SU.

I installed the updated drivers from Intel using their driver udpate utility and all seemed to work fine, until I checked for speed. It was too low. After googling a bit I found this is known to be a case with this card. Then came across this nice blog post (http://blog.benkonicek.com/2014/10/24/fixing-the-intel-wireless-n-7260-connection-issues/) that pointed to some older drivers and they worked pretty well.

No comments :

Post a Comment

Get and Set Process Affinity in C

No comments
Affinity of a process can be retrieved and set within a C program using sched_getaffinity (man page) and sched_setaffinity (man page) routines available in the sched.h. The following are two examples showing these two methods in action.

Get Process Affinity

#define _GNU_SOURCE
#include 
#include 
#include 
#include 
#include 

int main(int argc, char* argvi[])
{
    pid_t pid = getpid();
    cpu_set_t my_set;
    int ret;

    CPU_ZERO(&my_set);
    ret = sched_getaffinity(0, sizeof(my_set), &my_set);
    char str[80];
    strcpy(str," ");
    int count = 0;
    int j;
    for (j = 0; j < CPU_SETSIZE; ++j)
    {
        if (CPU_ISSET(j, &my_set))
        {
            ++count;
            char cpunum[3];
            sprintf(cpunum, "%d ", j);
            strcat(str, cpunum);
        }
    }
    printf("pid %d affinity has %d CPUs ... %s\n", pid, count, str);
    return 0;
}
You can test this by using taskset command in linux to set the affinity of this program and checking if the program returns the same affinity you set. For example you could do something like,
taskset -c 1,2 ./a.out
Note, you could use the non-standard CPU_COUNT(&my_set) macro routine to retrieve how many cores are assigned to this process instead of using a count variable within the loop as in the above example.

Set Process Affinity

#define _GNU_SOURCE
#include 
#include 
#include 
#include 
#include 

int main(int argc, char* argvi[])
{
    pid_t pid = getpid();
    cpu_set_t my_set;
    int ret;

    CPU_ZERO(&my_set);
    CPU_SET(1, &my_set);
    CPU_SET(2, &my_set);

    ret = sched_setaffinity(0, sizeof(my_set), &my_set);
    printf("pid %d \n", pid);

    // A busy loop to keep the program from terminating while
    // you use taskset to check if affinity is set as you wanted
    long x = 0;
    long i;
    while (i < LONG_MAX)
    {
        x += i;
        ++i;
    }
    printf("%ld\n",x);
    return 0;
}
The program is set to bind to cores 1 and 2 (assuming you have that many cores) using the two CPU_SET macro routines. You can check if this is set correctly using the taskset command again. The output of the program will include its process id, say pid. Use this as follows to check withtaskset.
taskset -pc pid
Note, I've included a busy loop after printing the pid of the program just so that it'll keep running while you check if affinity is set correctly.

No comments :

Post a Comment

සෝමසිරි...’n’ සයිලන්ට්

1 comment
‘පොෂ්’ වීම ජීවිතය කරගත් මල් සිරි අප්පුහාමිලාගේ සෝමසිරි  තමාගේ නම ‘මෙල් සිරප් සෝම්’ ලෙස වෙනස් කර ගත්තේ ද වෙනකක් නිසා නො ව තම ගමට නිරන්තරයෙන් සිදු වන වල් අලි කරදර වාර්තා කිරීමට එන ඉංග්‍රීසි ජන මාද්‍ය හමුවේ පහසුවෙන් උච්චාරණය කිරීමට ය. එමෙන් ම හේනේ වැවෙන කැකිරිවලට ‘කෙකරි’ කීමටත් වම්බටු, මුරුංගා, බණ්ඩක්කා ආදි මෙකී නො කී සෑම දෙයක් ම පාහේ ‘වැදගත්’ ලෙස උච්චාරණය කිරීමටත් ඔහු වග බල ගත්තේ ය.  මෙම වෙනස හමුවේ ගම් වැසියෝ සෝමසිරි කතා කරන්නේ බුරියෙන් යැයි කීමට පුරුදු වූහ. නූගත් ගැමියන් කුමක් කීවත් ඒවා හමුවේ නො සැලෙන “ඩෙයිරයක්” තමන් සතු බව ඔහු නිතර ම කීවේ ය.

කැලය මාරු කළත් කොටියාගේ පුල්ලි මාරු නො වන්නා සේ ම ශබ්දය වෙනස් වුනත් වචන සියල්ල සිංහල වීම සෝමසිරිට මදි පුංචිකමක් විය. සිංහල වචන අතර නැගෙන ඉංග්‍රීසි වචනය දෙක තිරුවානා ගල් අතර දිලිසෙන මැණික් සේ ඔහුට දිස් වෙන්නට ගත්තේ ද ඒ නිසා ය. ඉංග්‍රීසි බස නිසි ලෙස ඉගෙනීමේ වැදගත්කම කෙසේ වෙතත් මෙය නම් ඔහු විසින් ඉටු කර ගත යුත්තක් ම විය.  සියලු දේ එසැනින් සොයා ගත හැකි අන්තර්ජාලය පිළිබඳ ව සෝමේගේ කණ වැටෙන්නේ මේ අතර තුර ය. හැරෙන පමාවෙන් තම ගමේ සිට හූ සියයක් පමණ දුර සිදාදියේ අන්තර්ජාල ‘කැෆේ’ එකකට ගොඩ වුන සෝමේ තමාගේ වුවමනාව එහි සිටි ‘ටෙක්’ කොලුවාට පවසා සිටියේ ය.

මේ උන්දැ මේ සොයන්නේ ඉංග්‍රීසි කුණු හරප යැයි තම නැණ නුවණින් තේරුම් ගත් කොලුවා ඉස්තරම් ගනයේ ‘වෙබ්’ පිටුවක් සොයා දුන්නේ ය. එපමණකින් නො නැවතුණු ඔහු ඒවායේ සිංහල තේරුම ද සෝමෙට පැහැදිළි කරන්නට විය. කොතරම් ‘පෝෂ්’ වුවත් සුද්දා අමුවෙන් ම කියන මේ වැකි කියන්නට හිත නොදුන් නිසා යන්තම් තෝරා බේරාගෙන එදිනෙදා භාවිත කළ හැකි ‘damn it’ යන්නට සෝමේගේ හිත ගියේ ය.

“අන්කල්, මේක ටිකක් මළ පැනපු බව පෙන්නන්න කියන එකක්. මේකේ ‘n’ සයිලන්ට්, වචන දෙක ම එක දිගට කියල දාන්න ඕනෙ”

‘ටෙක්’ කොලුවා සිදාදියේ බසින් ම සෝමේගේ අලුත් ‘කතුර’ භාවිත කරන අයුරු පැහැදිළි කළේ ය. එවදන් හිස් මුදිනින් පිළි ගත් සෝමේ නැවත ගමට අවේ රටක් රාජ්ජයක් දිනූ පරිද්දෙනි.

පසු දා සති පොළට ගිය ඔහු තම නව සොයා ගැනීම ගැමියන්ට පෙන්නීමට සිතා අහක තිබූ කුඩා ගලක තම කකුල හෙමිහිට වද්දාගෙන එය තමාට සිදු වූ මහා අකරතැබ්බයක් යැයි හුවා දක්වමින් මහා හඬින් ‘damn it’ කීවේ ය. තම හඬ මැකෙනවාත් සමග ම සති පොළේ හූදී ජනයා එකා සේ තමා දෙස නෙත් අයා බලා සිටින බව සෝමේ හොරැහින් නිරීක්ෂණය කළේ ය. ඒ වූ කලී ඔහුගේ ‘පෝෂ්’ දිවියේ වැදගත් ම සංධිස්ථානය විය. කිරි සප්පයාගේ සිට මහල්ලා දක්වා වූ මේ සැම බලා සිටින්නේ ඒ උදාරතර ‘සෝම්’ වන තමා දෙස නො වේ ද? මේ ගම්මානයේ තබා අහල ගම් හතකවත් තමාට සම කළ හැකි අයෙකු වන්නේ ද? එදා ‘බුරි සෝමේ’ කිව් කට කැඩි එවුන් අද මේ හූල්ලන් බලා ඉන්නේ තමා දෙස නොවේ ද? මල් සිරි අප්පුහාමිලාගේ සෝමසිරි හෙවත් ‘මෙල් සිරප් සෝම්’ යන මහා යුග පුරුෂයාගේ කල එළි දැක්ම මේ නො වේ ද?

“මහත්තය කාව ද හොයන්නේ?”

ගමේ පාසලේ ආරියසේන මුල් ගුරුතුමාගේ හඬින් සෝමේ යළි පියවි ලොවට පැමිණයේ ය.

“ආහ්, නැ මේ ප්‍රින්සිපල් මහත්තය මගේ කකුල මේ කරුම ගලේ වැදුන, ඒකයි මේ තරහා ගියේ පොඩ්ඩක්”

“එහෙම ද? අපි එත් බැලු ව මහත්තය ‘දමිත්’ ‘දමිත්’ කිය කියා මේ නැති වුණ බල්ලෙක්වත් හොයනව ද කියල”

“ඔන්න ඉතින් ලොකු මහත්තයා දන්න තරම. දමිත් කියන්නේ කියන්නෙ අනර්ඝ ඉංග්‍රීසි පදයක් නොවැ. කොහේ ද ඉතින් මහත්තයල අලුත් ලෝකෙ තියෙන දේවල් හොයන එකක් යැ. මං මේ අන්තර්ජාලයෙන් තමයි මේවා ඉගෙන ගත්තෙ. ආහ්, මේ තියෙන්නෙ ටවුමේ කඩේ කොල්ල ලියල දීපු කොළේ. ඔය බලන්නකො අපූරුවට ලියල තියෙන්නේ ... ‘ඩී .. ඒ .. එම් ..එන් (සයිලන්ට්) .. අයි .. ටී’ කියල. ‘ඩී .. ඒ .. එම්’ කියන්නේ ‘දම්’, ‘අයි .. ටී’ කියන්නේ ‘ඉත්’. එකට කියවන්නේ ‘දමිත්’ කියල. මහත්තයත් බර කරලා කියල බලන්නකෝ මේකේ තියෙන උජාරුව”



-- සාලිය ඒකනායක --

1 comment :

Post a Comment