World Conference on IST (WorldCIST'23) | Pisa, Italy | Deadline: November 6

2022-10-02 Thread WorldCIST-2023
* Google Scholar H-Index = 25

* Indexed in WoS, Scopus, DBLP, etc.




--   --   
--   - 
WorldCIST'23 - 11st World Conference on Information Systems and Technologies

Pisa, Italy, 4 - 6 April 2023

http://worldcist.org/ 

--   --   
--   - 
Scope

The WorldCist'23 - 11st World Conference on Information Systems and 
Technologies, to be held in Pisa, Italy, 4 - 6 April 2023, is a global forum 
for researchers and practitioners to present and discuss the most recent 
innovations, trends, results, experiences and concerns in the several 
perspectives of Information Systems and Technologies.

We are pleased to invite you to submit your papers to WorldCist'23. All 
submissions will be reviewed on the basis of relevance, originality, importance 
and clarity.

 

Themes

Submitted papers should be related with one or more of the main themes proposed 
for the Conference:

A) Information and Knowledge Management (IKM);

B) Organizational Models and Information Systems (OMIS);

C) Software and Systems Modeling (SSM);

D) Software Systems, Architectures, Applications and Tools (SSAAT);

E) Multimedia Systems and Applications (MSA);

F) Computer Networks, Mobility and Pervasive Systems (CNMPS);

G) Intelligent and Decision Support Systems (IDSS);

H) Big Data Analytics and Applications (BDAA);

I) Human-Computer Interaction (HCI);

J) Ethics, Computers and Security (ECS)

K) Health Informatics (HIS);

L) Information Technologies in Education (ITE);

M) Technologies for Biomedical Applications (TBA)

N) Information Technologies in Radiocommunications (ITR);

 

Types of Submissions and Decisions

Four types of papers can be submitted:

Full paper: Finished or consolidated R works, to be included in one of the 
Conference themes. These papers are assigned a 10-page limit.

Short paper: Ongoing works with relevant preliminary results, open to 
discussion. These papers are assigned a 7-page limit.

Poster paper: Initial work with relevant ideas, open to discussion. These 
papers are assigned to a 4-page limit.

Company paper: Companies' papers that show practical experience, R & D, tools, 
etc., focused on some topics of the conference. These papers are assigned to a 
4-page limit.

Submitted papers must comply with the format of Advances in Intelligent Systems 
and Computing Series (see Instructions for Authors at Springer Website) 
, be written in English, must not 
have been published before, not be under review for any other conference or 
publication and not include any information leading to the authors’ 
identification. Therefore, the authors’ names, affiliations and bibliographic 
references should not be included in the version for evaluation by the Program 
Committee. This information should only be included in the camera-ready 
version, saved in Word or Latex format and also in PDF format. These files must 
be accompanied by the Consent to Publish form filled out, in a ZIP file, and 
uploaded at the conference management system.


All papers will be subjected to a “double-blind review” by at least two members 
of the Program Committee.

Based on Program Committee evaluation, a paper can be rejected or accepted by 
the Conference Chairs. In the later case, it can be accepted as the type 
originally submitted or as another type. Thus, full papers can be accepted as 
short papers or poster papers only. Similarly, short papers can be accepted as 
poster papers only.

Poster papers and Company papers are not published in the Conference 
Proceedings, being only presented and discussed. The authors of accepted poster 
papers should build and print a poster to be exhibited during the Conference. 
This poster must follow an A1 or A2 vertical format. The Conference includes 
Work Sessions where these posters are presented and orally discussed, with a 7 
minute limit per poster.

The authors of accepted Full papers will have 15 minutes to present their work 
in a Conference Work Session; approximately 5 minutes of discussion will follow 
each presentation. The authors of accepted Short papers and Company papers will 
have 11 minutes to present their work in a Conference Work Session; 
approximately 4 minutes of discussion will follow each presentation.

 

Publication and Indexing

To ensure that a full paper or short paper is published and presented, poster 
paper or company paper is presented, at least one of the authors must be fully 
registered by the 4th of January 2024, and the paper must comply with the 
suggested layout and page-limit. Additionally, all recommended changes must be 
addressed by the authors before they submit the camera-ready version.

No more than one paper per registration will be published. An extra fee must be 
paid 

Re: [PATCH 1/1] virtio-blk: simplify probe function

2022-10-02 Thread Michael S. Tsirkin
On Sun, Oct 02, 2022 at 06:44:17PM +0300, Max Gurtovoy wrote:
> Divide the extremely long probe function to small meaningful functions.
> This makes the code more readably and easy to maintain.
> 
> Signed-off-by: Max Gurtovoy 

This is subjective ... pls CC some reviewers. If Stefan or Paolo
ack this I will merge.

> ---
>  drivers/block/virtio_blk.c | 227 +
>  1 file changed, 131 insertions(+), 96 deletions(-)
> 
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 30255fcaf181..bdd44069bf6f 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -882,28 +882,13 @@ static const struct blk_mq_ops virtio_mq_ops = {
>  static unsigned int virtblk_queue_depth;
>  module_param_named(queue_depth, virtblk_queue_depth, uint, 0444);
>  
> -static int virtblk_probe(struct virtio_device *vdev)
> +static int virtblk_q_limits_set(struct virtio_device *vdev,
> + struct request_queue *q)
>  {
> - struct virtio_blk *vblk;
> - struct request_queue *q;
> - int err, index;
> -
> - u32 v, blk_size, max_size, sg_elems, opt_io_size;
> - u16 min_io_size;
>   u8 physical_block_exp, alignment_offset;
> - unsigned int queue_depth;
> -
> - if (!vdev->config->get) {
> - dev_err(>dev, "%s failure: config access disabled\n",
> - __func__);
> - return -EINVAL;
> - }
> -
> - err = ida_simple_get(_index_ida, 0, minor_to_index(1 << MINORBITS),
> -  GFP_KERNEL);
> - if (err < 0)
> - goto out;
> - index = err;
> + u16 min_io_size;
> + u32 v, blk_size, max_size, sg_elems, opt_io_size;
> + int err;
>  
>   /* We need to know how many segments before we allocate. */
>   err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SEG_MAX,
> @@ -917,73 +902,6 @@ static int virtblk_probe(struct virtio_device *vdev)
>   /* Prevent integer overflows and honor max vq size */
>   sg_elems = min_t(u32, sg_elems, VIRTIO_BLK_MAX_SG_ELEMS - 2);
>  
> - vdev->priv = vblk = kmalloc(sizeof(*vblk), GFP_KERNEL);
> - if (!vblk) {
> - err = -ENOMEM;
> - goto out_free_index;
> - }
> -
> - mutex_init(>vdev_mutex);
> -
> - vblk->vdev = vdev;
> -
> - INIT_WORK(>config_work, virtblk_config_changed_work);
> -
> - err = init_vq(vblk);
> - if (err)
> - goto out_free_vblk;
> -
> - /* Default queue sizing is to fill the ring. */
> - if (!virtblk_queue_depth) {
> - queue_depth = vblk->vqs[0].vq->num_free;
> - /* ... but without indirect descs, we use 2 descs per req */
> - if (!virtio_has_feature(vdev, VIRTIO_RING_F_INDIRECT_DESC))
> - queue_depth /= 2;
> - } else {
> - queue_depth = virtblk_queue_depth;
> - }
> -
> - memset(>tag_set, 0, sizeof(vblk->tag_set));
> - vblk->tag_set.ops = _mq_ops;
> - vblk->tag_set.queue_depth = queue_depth;
> - vblk->tag_set.numa_node = NUMA_NO_NODE;
> - vblk->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
> - vblk->tag_set.cmd_size =
> - sizeof(struct virtblk_req) +
> - sizeof(struct scatterlist) * VIRTIO_BLK_INLINE_SG_CNT;
> - vblk->tag_set.driver_data = vblk;
> - vblk->tag_set.nr_hw_queues = vblk->num_vqs;
> - vblk->tag_set.nr_maps = 1;
> - if (vblk->io_queues[HCTX_TYPE_POLL])
> - vblk->tag_set.nr_maps = 3;
> -
> - err = blk_mq_alloc_tag_set(>tag_set);
> - if (err)
> - goto out_free_vq;
> -
> - vblk->disk = blk_mq_alloc_disk(>tag_set, vblk);
> - if (IS_ERR(vblk->disk)) {
> - err = PTR_ERR(vblk->disk);
> - goto out_free_tags;
> - }
> - q = vblk->disk->queue;
> -
> - virtblk_name_format("vd", index, vblk->disk->disk_name, DISK_NAME_LEN);
> -
> - vblk->disk->major = major;
> - vblk->disk->first_minor = index_to_minor(index);
> - vblk->disk->minors = 1 << PART_BITS;
> - vblk->disk->private_data = vblk;
> - vblk->disk->fops = _fops;
> - vblk->index = index;
> -
> - /* configure queue flush support */
> - virtblk_update_cache_mode(vdev);
> -
> - /* If disk is read-only in the host, the guest should obey */
> - if (virtio_has_feature(vdev, VIRTIO_BLK_F_RO))
> - set_disk_ro(vblk->disk, 1);
> -
>   /* We can handle whatever the host told us to handle. */
>   blk_queue_max_segments(q, sg_elems);
>  
> @@ -1011,12 +929,13 @@ static int virtblk_probe(struct virtio_device *vdev)
>   dev_err(>dev,
>   "virtio_blk: invalid block size: 0x%x\n",
>   blk_size);
> - goto out_cleanup_disk;
> + return err;
>   }
>  
>   blk_queue_logical_block_size(q, blk_size);
> - } else
> + } else {
>   blk_size =