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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20130125213213.GA7460@oc6784271780.ibm.com>
Date:	Fri, 25 Jan 2013 15:32:13 -0600
From:	"Philip J. Kelleher" <pjk1939@...ibm.com>
To:	jmoyer@...hat.com
Cc:	axboe@...nel.dk, gregkh@...uxfoundation.org,
	linux-kernel@...r.kernel.org, brking@...ux.vnet.ibm.com
Subject: Re: Re: [PATCH] block: IBM RamSan 70/80 device driver.

Hi,

> > From: Joshua H Morris <josh.h.morris@...ibm.com>
> > 	Philip J Kelleher <pjk1939@...ibm.com>
> >
> > This patch includes the device driver for the IBM RamSan family
> > of PCI SSD flash storage cards. This driver will inlcude support for the
> > RamSan 70 and 80. The driver presents a block device for device I/O.
> 
> Hi,
> 
> Your driver does not handle REQ_FLUSH.  Does that mean that the
> supported cards do not have a volatile write-back cache?
> 

We do not have a volatile write-back cache.

> > +	blk_size = rsxx_get_logical_block_size(card);
> > +
> > +	blk_queue_make_request(card->queue, rsxx_make_request);
> > +	blk_queue_bounce_limit(card->queue, BLK_BOUNCE_ANY);
> > +	blk_queue_dma_alignment(card->queue, blk_size - 1);
> > +	blk_queue_max_hw_sectors(card->queue, blkdev_max_hw_sectors);
> > +	blk_queue_logical_block_size(card->queue, blk_size);
> > +	blk_queue_physical_block_size(card->queue, RSXX_HW_BLK_SIZE);
> > +	blk_queue_max_discard_sectors(card->queue, RSXX_HW_BLK_SIZE >> 9);
> 
> Did you mean to set max_discard_sectors inside the below for loop?
> Either way, do you really only support a single hardware sector discard?
> 
> > +	queue_flag_set_unlocked(QUEUE_FLAG_NONROT, card->queue);
> > +	if (rsxx_discard_supported(card)) {
> > +		queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, card->queue);
> > +		card->queue->limits.discard_granularity = RSXX_HW_BLK_SIZE;
> > +		card->queue->limits.discard_alignment   = RSXX_HW_BLK_SIZE;
> > +		card->queue->limits.discard_zeroes_data = 1;
> > +	}

Yes, we only do discards in 4k chunks. It does look as though the
max_discard_sectors can/should be moved inside the if statement.

Thanks,
Philip

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ