Re: [PATCH] usb: gadget: functions: add ftrace export over USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Felipe,

On Friday 09 June 2017 11:43 AM, Felipe Balbi wrote:
+static void notrace ftrace_write(struct trace_export *ftrace, const void *buf,
+				 unsigned int len)
+{
+	struct usb_ftrace		*trace = ftrace_to_trace(ftrace);
+	struct usb_request		*req = next_request(&trace->list);
+
+	if (!req)
+		return;
+
+	if (!trace->in->enabled)
+		return;
+
+	req->buf = kmemdup(buf, len, GFP_ATOMIC);

Probably we can avoid the copy of trace data.

We can make write() call of "struct trace_export" as posted. Can have a write_complete() callback function implemented in struct trace_export,which can be called from your ftrace_complete().

We need to execute __buffer_unlock_commit() only in write_complete() in case of ftrace_export is enabled.


+	req->length = len;
+	req->context = trace;
+	req->complete = ftrace_complete;
+	list_move_tail(&req->list, &trace->pending);
+
+	schedule_work(&trace->queue_work);
+}
+

--
Pratyush
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux