Sponsored Content
Full Discussion: Want to understand one patch
Operating Systems Linux Want to understand one patch Post 302921569 by shivnandan kuma on Saturday 18th of October 2014 02:03:07 PM
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
 

8 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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
SDL_SetTimer(3) 						 SDL API Reference						   SDL_SetTimer(3)

NAME
SDL_SetTimer - Set a callback to run after the specified number of milliseconds has elapsed. SYNOPSIS
#include "SDL.h" int SDL_SetTimer(Uint32 interval, SDL_TimerCallback callback); CALLBACK
/* Function prototype for the timer callback function */ typedef Uint32 (*SDL_TimerCallback)(Uint32 interval); DESCRIPTION
Set a callback to run after the specified number of milliseconds has elapsed. The callback function is passed the current timer interval and returns the next timer interval. If the returned value is the same as the one passed in, the periodic alarm continues, otherwise a new alarm is scheduled. To cancel a currently running timer, call SDL_SetTimer(0, NULL); The timer callback function may run in a different thread than your main constant, and so shouldn't call any functions from within itself. The maximum resolution of this timer is 10 ms, which means that if you request a 16 ms timer, your callback will run approximately 20 ms later on an unloaded system. If you wanted to set a flag signaling a frame update at 30 frames per second (every 33 ms), you might set a timer for 30 ms (see example below). If you use this function, you need to pass SDL_INIT_TIMER to SDL_Init(). Note: This function is kept for compatibility but has been superseded by the new timer functions SDL_AddTimer and SDL_RemoveTimer which support multiple timers. EXAMPLES
SDL_SetTimer((33/10)*10, my_callback); SEE ALSO
SDL_AddTimer SDL
Tue 11 Sep 2001, 23:01 SDL_SetTimer(3)
All times are GMT -4. The time now is 10:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy