Want to understand one patch


 
Thread Tools Search this Thread
Operating Systems Linux Want to understand one patch
# 1  
Old 10-18-2014
Want to understand one patch

I just wanted to understand the timer patch in timer.c.
It has already been merged in linux mainline kernel

It says that
Quote:
On architectures with sizeof(int) < sizeof (long), the
computation of mask inside apply_slack() can be undefined if the
computed bit is > 32.
I did not understand how it calcuates expires_limit as 0x20000000e from given value of expires=0xffffe6f5 and slack=25.

Any help will be apreciable.


E.g. with: expires = 0xffffe6f5 and slack = 25, we get:

Code:
   expires_limit = 0x20000000e
   bit = 33
   mask = (1 << 33) - 1  /* undefined */

It calculates expires_limit from the function apply_stack.



Code:
   static inline`enter code here`
     unsigned long apply_slack(struct timer_list *timer, unsigned long expires)
    {
         unsigned long expires_limit, mask;
         int bit;
 
         if (timer->slack >= 0) {`enter code here`
                 expires_limit = expires + timer->slack;
         } else {
                 long delta = expires - jiffies;
 
                 if (delta < 256)
                         return expires;
 
                expires_limit = expires + delta / 256;
         }
         mask = expires ^ expires_limit;
         if (mask == 0)
                 return expires;
 
         bit = find_last_bit(&mask, BITS_PER_LONG);
 
         mask = (1 << bit) - 1;

          expires_limit = expires_limit & ~(mask);
         return expires_limit;
    }


I am unable to understand how expires_limit = 0x20000000e??
Any help will be appreciated .

Thanks,

Last edited by Scrutinizer; 10-18-2014 at 03:08 PM.. Reason: Quote tags and code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

help me to understand this code

Hi guys can you please help me to understand this code . tmpArray=(${line//=/ }) Please next time open a new thread in the appropriate forum and use code tags (6 Replies)
Discussion started by: sandhya.gilla
6 Replies

2. Shell Programming and Scripting

can't understand!

Hi All, can you please help me to figured out what's the meaning of this. ${SERVER_DATABASE} -b << EOF 2>>/dev/null THanks, (3 Replies)
Discussion started by: nikki1200
3 Replies

3. Linux

cant understand patch file

I am trying to attach a patch file.The output I am getting is patching file net/ipv4/ip_forward.c Hunk #1 succeeded at 38 (offset -2 lines). Hunk #2 succeeded at 113 with fuzz 2 (offset -2 lines). Hunk #3 FAILED at 152. Hunk #4 succeeded at 197 (offset 1 line). 1 out of 4 hunks FAILED --... (0 Replies)
Discussion started by: akaash1087
0 Replies

4. UNIX for Dummies Questions & Answers

Trying to understand getopts

Hope these are basic to some as they are definitely advanced to me, but what is this used for. Some kind of menu selection? while getopts a:d:e:m: eOPT do case $eOPT in a) eTYPE="$OPTARG";; d) eBDIR="$OPTARG";; e) eENV="$OPTARG";; m) eMODE="$OPTARG";; ... (1 Reply)
Discussion started by: NycUnxer
1 Replies

5. UNIX for Dummies Questions & Answers

can't understand this at all.

Ok, i've been trying to write some shell scripts. nothing challenging, but just automating All of the tutorials i read say to start the file with #!/bin/bash or whatever your path to bash is. So i do it, and all of my scripts error out saying ./nameofscript:command not found when i... (4 Replies)
Discussion started by: severndigital
4 Replies

6. What is on Your Mind?

dont understand

i'm trying to learn unix and i posted a question and what i was typing from school. i can't figure it out. how am i supposed to learn , when i get shutdown by an admin. for posting a homework question. doesn't make any sense. its a dumb rule. thanks for helping (4 Replies)
Discussion started by: AtomJ22
4 Replies

7. UNIX for Dummies Questions & Answers

can't understand

how i can download this game n start it :S (5 Replies)
Discussion started by: BoyArcher
5 Replies

8. IP Networking

Patch-o-matic (patch for iptable) for linux2.4.08 & iptable1.2.7a

Hello friends I'm running Redhat 9.0 with linux kernel 2.4.20-8 & have iptables version 1.2.7a & encountering a problem that I narrate down. I need to apply patch to my iptable and netfilter for connection tracking and load balancing that are available in patch-o-matic distribution by netfilter.... (0 Replies)
Discussion started by: Rakesh Ranjan
0 Replies
Login or Register to Ask a Question