lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 13 Aug 2017 03:18:31 -0700 From: Christoph Hellwig <hch@...radead.org> To: Long Li <longli@...hange.microsoft.com> Cc: Steve French <sfrench@...ba.org>, linux-cifs@...r.kernel.org, samba-technical@...ts.samba.org, linux-kernel@...r.kernel.org, Long Li <longli@...rosoft.com> Subject: Re: [[PATCH v1] 11/37] [CIFS] SMBD: Post a receive request > + switch(response->type) { > + case SMBD_TRANSFER_DATA: > + data_transfer = (struct smbd_data_transfer *) response->packet; Maybe add a little helper for the packet data to hide these cast, e.g. static inline void *smbd_payload(struct cifs_rdma_response *resp) { return (void *)response->packet; } > + atomic_dec(&info->receive_credits); > + atomic_set(&info->receive_credit_target, > + le16_to_cpu(data_transfer->credits_requested)); > + atomic_add(le16_to_cpu(data_transfer->credits_granted), > + &info->send_credits); That's a lot of atomic ops in the fast path handler. Also remember that atomic_set isn't really atomic vs other callers.
Powered by blists - more mailing lists