los registros por página permiten al usuario elegir - paginación codeigniter

Tengo paginación que funciona. He establecido el límite a 5 registros por página, pero me gustaría que el usuario pueda cambiar eso si lo desea. El problema es que no tengo idea de cómo hacerlo.

En la vista, creé el menú desplegable, para que el usuario pueda elegir cuántos registros desea ver por página:

 <ul class="dropdown-menu">
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="2" class="pPage" data-tableid="smpl_tbl">
        2 records per page
        </a>
    </li>
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers"  id ="50" class="pPage" data-tableid="smpl_tbl">
        50 records per page
        </a>
    </li>
    <li><a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="100" class="pPage" data-tableid="smpl_tbl">
        100 records per page
        </a>
    </li>
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="all" class="pPage" data-tableid="smpl_tbl">
        Display all records
        </a>
    </li>
</ul>

En mi controlador, tengo el siguiente código:

public function displayAllUsers()
    {


        $recordsPerPage = 5;
        $limit = $recordsPerPage;
        $offset = 3;

        $offset = $this->uri->segment(3);
        $this->db->limit($limit, $offset);

        $data['users'] = $this->backOfficeUsersModel->get();

        $totalresults = $this->db->get('back_office_users')->num_rows();

        //initializing & configuring paging
        $this->load->library('pagination');
        $config['base_url'] = site_url('/backOfficeUsers/displayAllUsers');
        $config['total_rows'] = $totalresults;
        $config['per_page'] = $limit;
        $config['uri_segment'] = 3;
        $config['full_tag_open'] = '<div class="dataTables_paginate paging_bootstrap pagination"><ul>';
        $config['full_tag_close'] = '</ul></div>';
        $config['cur_tag_open'] = '<li><a href=# style="color:#ffffff; background-color:#258BB5;">';
        $config['cur_tag_close'] = '</a></li>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';

        $this->pagination->initialize($config); 



        $data['main_content'] = 'bousers/users';
        $data['title'] = 'Back Office Users';
        $errorMessage = FALSE;


        $this->load->vars($data,$errorMessage);
        $this->load->vars($currentUser);
        $this->load->view('backOffice/template');


    } // end of function displayAllUsers

¿Alguien puede decirme cómo puedo mostrar el número de registros que el usuario seleccionó en el menú desplegable? Si no selecciona nada, me gustaría mostrar 5 registros por defecto.

Cualquier ayuda será muy apreciada.

Saludos, Zoran