@@ -36,7 +36,7 @@ struct homa_rpc *homa_rpc_alloc_client(struct homa_sock *hsk,
3636 struct homa_rpc * crpc ;
3737 int err ;
3838
39- crpc = kmem_cache_zalloc ( hsk -> homa -> rpc_kmem_cache , GFP_KERNEL );
39+ crpc = kzalloc ( sizeof ( * crpc ) , GFP_KERNEL );
4040 if (unlikely (!crpc )) {
4141 hsk -> error_msg = "couldn't allocate memory for client RPC" ;
4242 return ERR_PTR (- ENOMEM );
@@ -95,7 +95,7 @@ struct homa_rpc *homa_rpc_alloc_client(struct homa_sock *hsk,
9595error :
9696 if (crpc -> peer )
9797 homa_peer_release (crpc -> peer );
98- kmem_cache_free ( hsk -> homa -> rpc_kmem_cache , crpc );
98+ kfree ( crpc );
9999 return ERR_PTR (err );
100100}
101101
@@ -146,7 +146,7 @@ struct homa_rpc *homa_rpc_alloc_server(struct homa_sock *hsk,
146146 }
147147
148148 /* Initialize fields that don't require the socket lock. */
149- srpc = kmem_cache_zalloc ( hsk -> homa -> rpc_kmem_cache , GFP_ATOMIC );
149+ srpc = kzalloc ( sizeof ( * srpc ) , GFP_ATOMIC );
150150 if (!srpc ) {
151151 err = - ENOMEM ;
152152 goto error ;
@@ -209,11 +209,9 @@ struct homa_rpc *homa_rpc_alloc_server(struct homa_sock *hsk,
209209
210210error :
211211 homa_bucket_unlock (bucket , id );
212- if (srpc ) {
213- if (srpc -> peer )
214- homa_peer_release (srpc -> peer );
215- kmem_cache_free (hsk -> homa -> rpc_kmem_cache , srpc );
216- }
212+ if (srpc && srpc -> peer )
213+ homa_peer_release (srpc -> peer );
214+ kfree (srpc );
217215 return ERR_PTR (err );
218216}
219217
@@ -654,7 +652,7 @@ int homa_rpc_reap(struct homa_sock *hsk, bool reap_all)
654652#endif /* See strip.py */
655653 rpc -> state = 0 ;
656654 rpc -> magic = 0 ;
657- kmem_cache_free ( hsk -> homa -> rpc_kmem_cache , rpc );
655+ kfree ( rpc );
658656 }
659657 homa_sock_wakeup_wmem (hsk );
660658 tt_record4 ("reaped %d skbs, %d rpcs; %d skbs remain for port %d" ,
0 commit comments