projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'linux-2.6'
[powerpc.git]
/
net
/
ipv4
/
inet_timewait_sock.c
diff --git
a/net/ipv4/inet_timewait_sock.c
b/net/ipv4/inet_timewait_sock.c
index
cdd8053
..
a73cf93
100644
(file)
--- a/
net/ipv4/inet_timewait_sock.c
+++ b/
net/ipv4/inet_timewait_sock.c
@@
-78,8
+78,8
@@
void __inet_twsk_hashdance(struct inet_timewait_sock *tw, struct sock *sk,
if (__sk_del_node_init(sk))
sock_prot_dec_use(sk->sk_prot);
if (__sk_del_node_init(sk))
sock_prot_dec_use(sk->sk_prot);
- /* Step 3: Hash TW into TIMEWAIT
half of established hash table
. */
- inet_twsk_add_node(tw, &
(ehead + hashinfo->ehash_size)->
chain);
+ /* Step 3: Hash TW into TIMEWAIT
chain
. */
+ inet_twsk_add_node(tw, &
ehead->tw
chain);
atomic_inc(&tw->tw_refcnt);
write_unlock(&ehead->lock);
atomic_inc(&tw->tw_refcnt);
write_unlock(&ehead->lock);
@@
-91,7
+91,7
@@
struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, const int stat
{
struct inet_timewait_sock *tw =
kmem_cache_alloc(sk->sk_prot_creator->twsk_prot->twsk_slab,
{
struct inet_timewait_sock *tw =
kmem_cache_alloc(sk->sk_prot_creator->twsk_prot->twsk_slab,
-
SLAB
_ATOMIC);
+
GFP
_ATOMIC);
if (tw != NULL) {
const struct inet_sock *inet = inet_sk(sk);
if (tw != NULL) {
const struct inet_sock *inet = inet_sk(sk);
@@
-178,7
+178,6
@@
void inet_twdr_hangman(unsigned long data)
need_timer = 0;
if (inet_twdr_do_twkill_work(twdr, twdr->slot)) {
twdr->thread_slots |= (1 << twdr->slot);
need_timer = 0;
if (inet_twdr_do_twkill_work(twdr, twdr->slot)) {
twdr->thread_slots |= (1 << twdr->slot);
- mb();
schedule_work(&twdr->twkill_work);
need_timer = 1;
} else {
schedule_work(&twdr->twkill_work);
need_timer = 1;
} else {
@@
-197,9
+196,10
@@
EXPORT_SYMBOL_GPL(inet_twdr_hangman);
extern void twkill_slots_invalid(void);
extern void twkill_slots_invalid(void);
-void inet_twdr_twkill_work(
void *data
)
+void inet_twdr_twkill_work(
struct work_struct *work
)
{
{
- struct inet_timewait_death_row *twdr = data;
+ struct inet_timewait_death_row *twdr =
+ container_of(work, struct inet_timewait_death_row, twkill_work);
int i;
if ((INET_TWDR_TWKILL_SLOTS - 1) > (sizeof(twdr->thread_slots) * 8))
int i;
if ((INET_TWDR_TWKILL_SLOTS - 1) > (sizeof(twdr->thread_slots) * 8))