Thread (28 messages) 28 messages, 4 authors, 2018-11-20

Re: [PATCH 10/11] nvmet-tcp: add NVMe over TCP target driver

From: David Miller <davem@davemloft.net>
Date: 2018-11-19 22:53:45
Also in: linux-block, linux-nvme

From: Sagi Grimberg <sagi@grimberg.me>
Date: Mon, 19 Nov 2018 13:26:12 -0800
I would love you to look at skb_copy_and_hash_datagram_iter as these
changes will require an ack from you.
My first impression is that we now have this kind of code pattern
in at least two main places and now this will be a third.

I know that nobody likes callbacks because of spectre, but all of
these cases could be done with something like:

int __skb_datagram_iter(const struct sk_buff *skb, int offset,
			struct iov_iter *to, int len,
			int (*cb)(void *, int, struct iov_iter *, void *),
			void *data)
{
	...
		n = cb(skb->data + offset, copy, to, data);
	...
}

You get the idea.  Then we have one version of all the loops and
the different (copy, copy+csum, copy+hash) cases all can be
handled by __skb_datagram_iter() but just with a different 'cb'
and private 'data'.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help