Rev 111 | Rev 205 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 111 | Rev 171 | ||
---|---|---|---|
Line 57... | Line 57... | ||
57 | static void failed(void); |
57 | static void failed(void); |
58 | 58 | ||
59 | __u32 random(__u32 max) |
59 | __u32 random(__u32 max) |
60 | { |
60 | { |
61 | __u32 rc; |
61 | __u32 rc; |
- | 62 | pri_t pri; |
|
62 | 63 | ||
- | 64 | pri = cpu_priority_high(); |
|
63 | spinlock_lock(&lock); |
65 | spinlock_lock(&lock); |
64 | rc = seed % max; |
66 | rc = seed % max; |
65 | seed = (((seed<<2) ^ (seed>>2)) * 487) + rc; |
67 | seed = (((seed<<2) ^ (seed>>2)) * 487) + rc; |
66 | spinlock_unlock(&lock); |
68 | spinlock_unlock(&lock); |
- | 69 | cpu_priority_restore(pri); |
|
67 | return rc; |
70 | return rc; |
68 | } |
71 | } |
69 | 72 | ||
70 | 73 | ||
71 | void writer(void *arg) |
74 | void writer(void *arg) |