All of lore.kernel.org
 help / color / mirror / Atom feed
* Supporting segment sizes smaller than the page size
@ 2022-09-21 23:28 Bart Van Assche
  2022-09-22  5:39 ` Christoph Hellwig
  2022-10-05 17:00 ` Keith Busch
  0 siblings, 2 replies; 7+ messages in thread
From: Bart Van Assche @ 2022-09-21 23:28 UTC (permalink / raw)
  To: Jens Axboe, Christoph Hellwig, Ming Lei
  Cc: Jaegeuk Kim, linux-block@vger.kernel.org

Hi Jens, Christoph and Ming,

As we know the Linux kernel block layer does not support DMA segment 
sizes that are smaller than the page size. From block/blk-settings.c:

void blk_queue_max_segment_size(struct request_queue *q,
                                 unsigned int max_size)
{
	if (max_size < PAGE_SIZE) {
		max_size = PAGE_SIZE;
		printk(KERN_INFO "%s: set to minimum %d\n",
		       __func__, max_size);
	}

	/* see blk_queue_virt_boundary() for the explanation */
	WARN_ON_ONCE(q->limits.virt_boundary_mask);

	q->limits.max_segment_size = max_size;
}

I have been asked to add support for DMA segment sizes that are smaller 
than the page size to support a UFS controller with a maximum DMA 
segment size of 4 KiB and a page size > 4 KiB (my understanding of the 
JEDEC UFS host controller specification is that UFS host controllers 
should support a maximum DMA segment size of 256 KiB). Does anyone want 
to comment on this before I start working on a patch series?

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-05 21:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-21 23:28 Supporting segment sizes smaller than the page size Bart Van Assche
2022-09-22  5:39 ` Christoph Hellwig
2022-10-04 16:57   ` Bart Van Assche
2022-10-05 17:00 ` Keith Busch
2022-10-05 18:23   ` Bart Van Assche
2022-10-05 19:10     ` Keith Busch
2022-10-05 21:00       ` Bart Van Assche

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.