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